cmake生成so文件体积过大问题

cmake生成so文件体积过大问题,第1张

最近因为项目中有部分接口方法需要写在so文件中,那就简单开搞,AndroidStudio使用cmake打包生成so文件很简单,主要是c++中实现方法不复杂,具体生成so流程不多说,网上很多demo。

虽然c++文件不过几十百来行,然而生成的so文件接近1M,这肯定是属于异常的,包体积无故增加好几M,必须优化一下。

网上查了下,很多都说在CMakeLists.txt文件中增加下面俩行:

结果肯定是无效的,不然也不会有这篇文章了 ^ - ^

使用Androidstudio打开so文件,发现有很多冗余的数据,接近上万行,因为网络上大家都建议使用c来写而不是c++,所以想着是不是调用了c++的方法库导致so文件增加的;

仔细观察发现自己使用了c++提供的md5相关算法头文件,所以导致引入文件很多,打包体积很大;

转变去掉相关引入就ok

去掉后重新打包体积只有小几十kb;

将第三方库文件添加到对应的架构目录中

如果有多个目录的,可能会报错:

More than one file was found with OS independent path 'lib/armeabi-v7a/libmyJNI.so'

参考 https://blog.csdn.net/lftaoyuan/article/details/106718096

关联头文件目录到库名

导入第三方库

关联到log库中

如果加载头文件报错没找到方法,可能是因为没加载成功,仔细对照流程过一遍。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11490996.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存