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

时间:2017-07-16 19:24:20

标签: android firebase realm apk

当我尝试运行我的应用时,出现此错误:

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数据库添加到我的项目后出现此错误。

我的应用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
}

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

3 个答案:

答案 0 :(得分:1)

转到android studio中构建并按Clean Project

Build > Clean Project 

Build > Rebuild Project

答案 1 :(得分:1)

您需要从应用的compile 'io.realm:realm-android:0.84.1'删除build.gradle

答案 2 :(得分:0)

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

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'