在APK lib / x86 / librealm-jni.so中复制的重复文件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在APK lib / x86 / librealm-jni.so中复制的重复文件相关的知识,希望对你有一定的参考价值。

当我尝试运行我的应用程序时,我收到此错误:

Error:Execution failed for task ':app:transformNativeLibsWithMergeJniLibsForDebug'.
> com.android.build.api.transform.TransformException: com.android.builder.packaging.DuplicateFileException: Duplicate files copied in APK lib/x86/librealm-jni.so
File1: /home/redsolver/.gradle/caches/modules-2/files-2.1/io.realm/realm-android/0.84.1/b86074e6240f0f876701810a047b0261f7bd060e/realm-android-0.84.1.jar
File2: /home/redsolver/.android/build-cache/d261e339af4d29c93448691068c64db176d00257/output/jni

将realm数据库添加到我的项目后,我收到此错误。

我的app build.gradle:

apply plugin: 'com.android.application'
apply plugin: 'realm-android'
    android {
        compileSdkVersion 25
        buildToolsVersion "25.0.2"
        defaultConfig {
            applicationId "net.redsolver.solver"
            minSdkVersion 19
            targetSdkVersion 25
            versionCode 1
            versionName "1.0"
            testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
            vectorDrawables.useSupportLibrary = true
        }
        buildTypes {
            release {
                minifyEnabled false
                proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            }
        }
    }

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2',                 {
    exclude group: 'com.android.support', module: 'support-annotations'
    })
    compile 'com.android.support:appcompat-v7:25.1.1'
    compile 'com.android.support.constraint:constraint-layout:1.0.0-beta4'
    compile 'com.google.firebase:firebase-auth:10.0.1'
    compile 'com.google.firebase:firebase-database:10.0.1'
    compile 'com.google.android.gms:play-services-auth:10.0.1'
    compile 'com.google.firebase:firebase-storage:10.0.1'
    compile 'com.vistrav:ask:2.5'
    compile 'com.android.support:support-v4:25.3.1'
    compile 'com.android.support:support-vector-drawable:25.3.1'
    compile 'com.android.support:design:25.3.1'
    compile 'io.paperdb:paperdb:2.1'
    compile 'io.realm:realm-android:0.84.1'
    compile 'com.google.firebase:firebase-crash:10.0.1'
    testCompile 'junit:junit:4.12'
}

apply plugin: 'com.google.gms.google-services'
repositories {
    mavenCentral()
}

我的项目build.gradle:

buildscript {
    ext.kotlin_version = '1.1.3'
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:2.3.3'


        classpath 'com.google.gms:google-services:3.0.0'
        classpath 'io.realm:realm-gradle-plugin:3.5.0'
    }
}

allprojects {
    repositories {
        jcenter()
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

我认为图书馆破坏了一些东西,但我不知道如何修复它。

答案

你需要从app的compile 'io.realm:realm-android:0.84.1'中删除build.gradle

另一答案

去构建android studio并按Clean Project

Build > Clean Project 

要么

Build > Rebuild Project
另一答案

我遇到了类似的问题,并通过更改模块中提供的依赖性来修复它

compile 'com.amap.api:3dmap:5.5.0' -> provided 'com.amap.api:3dmap:5.5.0'
compile 'com.amap.api:search:5.5.0' -> provided 'com.amap.api:search:5.5.0' 
compile 'com.amap.api:location:3.6.1' ->  provided 'com.amap.api:location:3.6.1'

以上是关于在APK lib / x86 / librealm-jni.so中复制的重复文件的主要内容,如果未能解决你的问题,请参考以下文章

Qt创建者:创建一个兼容多个ABI的APK?

适用于 Android 的 Mono - 支持的架构 - 放弃 x86?

APK 简析

为 x86 编译的 APK 可以上传到亚马逊应用商店吗?

用于构建 x86 apk 的离子人行横道配置

设备支持 <Undefined> ,但 APK 只支持 x86