Android 减少编译三方静态库的体积

最近使用 OSG 的项目要发版了, 但是编译 OSG 源码后的静态库实在是太大了, 网上找了很多资料, 都没办法.
未加入 OSG 静态库之前安装包为 60M左右. 加入后直接飙升到了 200M. 太恐怖了.
偶然间在网上看到一个帖子, 说是在使用NDK进行交叉编译的时候, Android NDKcmke 代码中开启了调试信息. 于是按照它的说明就去尝试关闭了一下, 然后重新编译 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 即可.

你可能感兴趣的:(Android 减少编译三方静态库的体积)