我有一个Android项目。它现在正在进行多次迭代,没有任何重大问题。重要的是要注意我使用的第三方库在jnilib文件夹中使用.so
文件。
我决定添加WebP和GIF播放实现。在寻找第三方图书馆时,我最终使用了Fresco。
现在,我尝试在gradle中添加Fresco,我立即遇到了Duplicate Entry
的问题。也许是因为Facebook SDK的实施。我设法通过为exclude
com.parse.bolts
来解决问题
gradle构建现在可以正常运行,但只要我运行应用程序。我遇到了一个UnsatisfiedLinkError
,其中包含我之前提到的库中的代码
有人遇到过这个问题吗?我该如何解决这个问题?
编辑:
这是错误日志
java.lang.UnsatisfiedLinkError: No implementation found for void com.lib.util.Utils.nativeSetLevel(int) (tried Java_com_lib_util_Utils_nativeSetLevel and Java_com_lib_util_Utils_nativeSetLevel)`
该代码之前有效。这只有在我添加Fresco时才会发生。
答案 0 :(得分:1)
很可能那是因为壁画添加了新架构的本机库(你的库不支持,例如arm64-v8a),尝试限制支持的架构添加
ndk {
abiFilters "armeabi-v7a", "x86"
}
进入构建gradle的defaultConfig,将"armeabi-v7a", "x86"
更改为构建lib的体系结构列表。
另一种方法是为所有架构构建您的本机库,由fresco支持。