我正在向我的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')
}
如何解决此错误?
答案 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'
谢谢.. !!