添加 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 支持的所有体系结构构建您的本机库。