永发信息网

android studio 给自己的工程添加第三方项目,第三方项目有.so的引用,单独运行第三方的没报错

答案:2  悬赏:50  手机版
解决时间 2021-02-14 06:14
  • 提问者网友:萌卜娃娃
  • 2021-02-13 15:22
但是把项目添加到我的工程后出现.so文件查找失败,我自己的工程也有.so依赖,报错如下
java.lang.UnsatisfiedLinkError: Couldn't load AvcEncoder from loader dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/com.apk"],nativeLibraryDirectories=[/data/app-lib/com-2, /vendor/lib, /system/lib]]]: findLibrary returned null
最佳答案
  • 五星知识达人网友:醉吻情书
  • 2021-02-13 16:18
如果对运行效率没有要求的话, 只保留libs\armeabi 目录下的so库, 其它armeabi目录都删除掉
然后在 app项目中的 build.gradle文件中, defaultConfig节点增加
ndk {
abiFilters 'armeabi'
}
全部回答
  • 1楼网友:不想翻身的咸鱼
  • 2021-02-13 17:00
通常来说,调用第三方的so库是不需要额外工作的,只需将其放入指定目录,然后在java文件中load即可。 比如引用之前《第一个ndk程序》中编译出的libfirstlib.so,将其放到app/src/main/jnilibs/armeabi/下,在源码中引用: static { system.loadlibrary("firstlib"); }
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯