最近使用 OSG
的项目要发版了, 但是编译 OSG
源码后的静态库实在是太大了, 网上找了很多资料, 都没办法.
未加入 OSG
静态库之前安装包为 60M左右. 加入后直接飙升到了 200M. 太恐怖了.
偶然间在网上看到一个帖子, 说是在使用NDK
进行交叉编译的时候, Android NDK
的 cmke
代码中开启了调试信息. 于是按照它的说明就去尝试关闭了一下, 然后重新编译 OSG
. 最终生成安装包的大小比之前缩小了 50%. 也算是不错的成果了.
具体关闭方式如下:
找到 /Users/yaqi/Library/Android/sdk/ndk/21.1.6352462/build/cmake
目录下的 android.toolchain.cmake
文件. (这个目录也就是使用交叉编译时Android NDK 的目录).
打开 android.toolchain.cmake
后, 找到 454行.
list(APPEND ANDROID_COMPILER_FLAGS
-g
-DANDROID
-fdata-sections
-ffunction-sections
-funwind-tables
-fstack-protector-strong
-no-canonical-prefixes)
将 -g
删掉然后编译 OSG
即可.