错误:任务执行失败':app:transformClassesWithJarMergingForRelease'。
com.android.build.api.transform.TransformException:java.util.zip.ZipException:重复条目:android / support / v4 / widget / CursorAdapter $ MyDataSetObserver.class - 列表项
apply plugin: 'com.android.application'
android {
compileSdkVersion 26
buildToolsVersion "26.0.1"
dexOptions {
javaMaxHeapSize "4g"
}
defaultConfig {
applicationId "com.omairm.hoops"
minSdkVersion 14
targetSdkVersion 23
multiDexEnabled true
ndk {
moduleName "player_shared"
}
}
sourceSets {
main {
jni.srcDirs = []
}
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
}
}
}
dependencies {
compile ('com.google.android.gms:play-services:+'){exclude module: 'Support-v4'}
compile files('libs/PTAdRevMob.jar')
compile files('libs/dagger-1.2.2.jar')
compile files('libs/javax.inject-1.jar')
compile files('libs/nineoldandroids-2.4.0.jar')
compile files('libs/support-v4-19.0.1.jar')
}
我是否需要删除CursorAdapter.class?
答案 0 :(得分:1)
我需要删除cursoradapter.class
您正在阅读错误并认识到它告诉您的至少一部分,这很好,但您不能从JAR文件中删除一个类。 Gradle经历的构建过程只是在它找到的第一个类冲突中抛出错误,如果你只关注那个错误,那么会有更多错误。
我的建议是为每个JAR文件找到正确的当前库,并随时删除jar文件。
此外,尝试实际使用数字值而不仅仅是版本的加号,因为您不想使用每隔几周更改一次的库的alpha / beta版本
如果您search around Maven可以替换大部分JAR文件
dependencies {
compile "com.android.support:appcompat-v7:26+"
// Don't use just a plus here
compile ('com.google.android.gms:play-services:+'){exclude module: 'support-v4'}
compile files('libs/PTAdRevMob.jar')
compile group: 'com.squareup.dagger', name: 'dagger', version: '1.2.2'
// compile group: 'com.nineoldandroids', name: 'library', version: '2.4.0'
}
还值得一提的是,九折手机已被弃用。由于您使用minSdkVersion 14
,我认为您甚至不需要它。
Dagger自版本1.2以来也有很多版本,但它已经包含了javax注入框架(参见编译的依赖项https://mvnrepository.com/artifact/com.squareup.dagger/dagger/1.2.2)
你肯定也想看看Google Play | Selectively compiling APIs into your executable。
请注意,如果PTAdRevMob.jar
有任何类仍与此处的任何其他库发生冲突,您仍然会收到错误,并且可能需要切换到其他广告提供商
答案 1 :(得分:0)
您应该在build.gradle中添加与此类似的内容,其中添加了重复文件以排除
android {
configurations {
all*.exclude group: 'com.android.support', module: 'support-v4'
all*.exclude group: 'com.android.support', module: 'support-annotations'
}
}