Android studio 打包so进APK

文章描述了一个Android应用在打包SO库时遇到的问题,即SO库无法在所有设备上正确安装。开发人员尝试在build.gradle中配置将src/main/libs下的SO打包到APK,且在某些设备上测试正常,但在其他设备上SO未安装。最终,解决方案是将SO库放在Asset文件夹下,在运行时动态复制到Cache目录的lib子目录,并从那里加载SO库。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

应用有个需求。

需要将一些so打包到库里,但程序中没有显示调用;

程序只有通过文件路径Load进so,然后再进行函数调用。

1:

在build.grade中加入此代码,将src/main/libs的so打包进行apk中,查看apk文件中存在这些 so.

sourceSets.main {
            //jniLibs.srcDirs =['jni/lib']
            jniLibs.srcDirs = ['src/main/libs']
        }

2. 安装测试

第一个盒子,测试正常,通过ls查看so是否有正常安装,正常。

但是第二个盒子就不正常了,未调用的so未正常安装到lib目录。

最后解决办法:

将这些so放到asset文件目录下,在运行程序的时候,在cache目录下lib文件夹,并将so拷贝对应芯片的so拷贝到该目录,然后程序运行时,通过此目录导入so。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值