一个功能单一的native工程,导出的so文件居然有3.5M,这是没有办法使用的
主要进行两步优化:
1、CMakeList.txt
添加
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -s")
2、使用UPX
对生成的so文件压缩
upx使用: 1> 在jni文件中添加init方法
extern "C" {
void _init(void) {}
}
不加这个方法,upx找不到入口,就不无法压缩
2> 将so文件拷入到upx.exe同级目录下,命令行进入到该目录,使用命令 upx -9 xxx.so
经过上面两步优化,将最初的3.5M 优化到490K,还有一些优化方案有待尝试
网友评论