在Android Studio中插入Jar文件时出错

时间:2015-09-24 05:21:11

标签: android android-studio android-gradle realm

我正在向我的android项目添加领域的jar文件,并给出了这个错误:

Error:Execution failed for task ':app:packageAllDebugClassesForMultiDex'.
  java.util.zip.ZipException: duplicate entry: io/realm/DefaultRealmModule.class

我的Gradle文件:

apply plugin: 'com.android.library'

android {
    signingConfigs {
    }
    compileSdkVersion 19
    buildToolsVersion "22.0.1"
    defaultConfig {
        minSdkVersion 11
        targetSdkVersion 19
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_7
        targetCompatibility JavaVersion.VERSION_1_7
    }
}

dependencies {
    compile 'com.j256.ormlite:ormlite-android:4.48'
    compile 'com.j256.ormlite:ormlite-core:4.48'
    compile files('libs/fat.jar')
    compile files('libs/lifesense_ble_v3.2.3.jar')

    compile 'com.google.android.gms:play-services:4.2.42'
    compile 'com.google.code.gson:gson:2.3.1'
    compile files('libs/realm-0.82.2.jar')
}

如何解决此错误?

2 个答案:

答案 0 :(得分:1)

Realm的开发人员Christian Melchior在GitHub bug中解释说:

  

您是否正在使用包含Realm的库项目?然后那里   有一些事情需要注意,如下所述:   https://realm.io/docs/java/latest/#sharing-schemas

因此,如果您使用带有域的库,请确保不要将.name("app.realm").setModules(Realm.getDefaultModule(), new MyLibraryModule())附加到您的Realm构建器。参考文档详细解释了这一点。

答案 1 :(得分:0)

按以下方式更改您的依赖项:

compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.j256.ormlite:ormlite-android:4.48'
    compile 'com.j256.ormlite:ormlite-core:4.48'
    compile 'com.google.android.gms:play-services:4.2.42'
    compile 'com.google.code.gson:gson:2.3.1'

谢谢.. !!