添加 Fresco 库会中断 Android 项目
Adding Fresco Library breaks Android project
我有一个 Android 项目。它现在可以进行多次迭代,没有任何重大问题。重要的是要注意,我正在使用第 3 方库,该库使用 jnilib 文件夹中的 .so
文件。
我决定添加 WebP 和 GIF 播放实现。在寻找第 3 方库时,我最终使用了 Fresco。
现在,我尝试在 gradle 中添加 Fresco,但我立即遇到了 Duplicate Entry
的问题。可能是因为 Facebook SDK 的实现。我设法通过为 com.parse.bolts
添加 exclude
来修复
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 时才会发生这种情况。
很可能是因为 fresco 添加了新架构的原生库(您的库不支持,例如 arm64-v8a),尝试限制支持的架构添加
ndk {
abiFilters "armeabi-v7a", "x86"
}
进入您构建 gradle 的 defaultConfig,将 "armeabi-v7a", "x86"
更改为您为其构建库的体系结构列表。
另一种方法是为 fresco 支持的所有体系结构构建您的本机库。
我有一个 Android 项目。它现在可以进行多次迭代,没有任何重大问题。重要的是要注意,我正在使用第 3 方库,该库使用 jnilib 文件夹中的 .so
文件。
我决定添加 WebP 和 GIF 播放实现。在寻找第 3 方库时,我最终使用了 Fresco。
现在,我尝试在 gradle 中添加 Fresco,但我立即遇到了 Duplicate Entry
的问题。可能是因为 Facebook SDK 的实现。我设法通过为 com.parse.bolts
exclude
来修复
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 时才会发生这种情况。
很可能是因为 fresco 添加了新架构的原生库(您的库不支持,例如 arm64-v8a),尝试限制支持的架构添加
ndk {
abiFilters "armeabi-v7a", "x86"
}
进入您构建 gradle 的 defaultConfig,将 "armeabi-v7a", "x86"
更改为您为其构建库的体系结构列表。
另一种方法是为 fresco 支持的所有体系结构构建您的本机库。