应用有个需求。
需要将一些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。