复制到APK lib / x86 / librealm-jni.so中的重复文件-与〜/ .gradle / cache中的缓存冲突

时间:2018-07-25 12:06:47

标签: android jar java-native-interface realm react-native-android

该应用程序构建成功,但是在运行时出现以下错误:

Duplicate files copied in APK lib/x86/librealm-jni.so
File1: /Users/apple/.gradle/caches/modules-2/files-2.1/io.realm/realm-android/0.87.1/6d9a1bba4e31252cc8183aa27a32e6edbdacaeb7/realm-android-0.87.1.jar
File2: /Users/apple/NodeProjects/react-native-mod/droid/databinder/build/intermediates/bundles/default/jni

当我从databinder模块中删除领域依赖项时,它找不到库。

如何从添加到APK中删除jar文件的缓存版本?

1 个答案:

答案 0 :(得分:0)

将以下内容添加到您的gradle.build文件中

packagingOptions {
    pickFirst 'lib/x86/librealm-jni.so'
    pickFirst 'lib/x86_64/librealm-jni.so'
    pickFirst 'lib/armeabi/librealm-jni.so'
    pickFirst 'lib/armeabi-v7a/librealm-jni.so'
    pickFirst 'lib/arm64-v8a/librealm-jni.so'
}

此选项仅在构建系统首次看到 .so 文件时才使用,而忽略所有后续的相同的 .so 文件。