我正在尝试构建multidex项目并遇到一些错误:
:app:compileDebugNdk NO-SOURCE
:app:compileDebugSources
:app:transformClassesWithRetrolambdaForDebug
:app:transformClassesWithDexBuilderForDebug
:app:transformDexArchiveWithDexMergerForDebug
AGPBI: {"kind":"error","text":"Error converting bytecode to dex:\nCause: com.android.dex.DexException: Multiple dex files define Landroid/support/design/widget/CoordinatorLayout$OnPreDrawListener;","sources":[{}],"original":"UNEXPECTED TOP-LEVEL EXCEPTION:\ncom.android.dex.DexException: Multiple dex files define Landroid/support/design/widget/CoordinatorLayout$OnPreDrawListener;\n","tool":"Dex"}
AGPBI: {"kind":"error","text":"com.android.dex.DexException: Multiple dex files define Landroid/support/design/widget/CoordinatorLayout$OnPreDrawListener;","sources":[{}]}
AGPBI: {"kind":"error","text":"\tat com.android.dx.merge.DexMerger.readSortableTypes(DexMerger.java:661)","sources":[{}]}
AGPBI: {"kind":"error","text":"\tat com.android.dx.merge.DexMerger.getSortedTypes(DexMerger.java:616)","sources":[{}]}
AGPBI: {"kind":"error","text":"\tat com.android.dx.merge.DexMerger.mergeClassDefs(DexMerger.java:598)","sources":[{}]}
AGPBI: {"kind":"error","text":"\tat com.android.dx.merge.DexMerger.mergeDexes(DexMerger.java:171)","sources":[{}]}
AGPBI: {"kind":"error","text":"\tat com.android.dx.merge.DexMerger.merge(DexMerger.java:198)","sources":[{}]}
AGPBI: {"kind":"error","text":"\tat com.android.builder.dexing.DexArchiveMergerCallable.call(DexArchiveMergerCallable.java:61)","sources":[{}]}
AGPBI: {"kind":"error","text":"\tat com.android.builder.dexing.DexArchiveMergerCallable.call(DexArchiveMergerCallable.java:36)","sources":[{}]}
AGPBI: {"kind":"error","text":"\tat java.util.concurrent.ForkJoinTask$AdaptedCallable.exec(ForkJoinTask.java:1424)","sources":[{}]}
AGPBI: {"kind":"error","text":"\tat java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289)","sources":[{}]}
AGPBI: {"kind":"error","text":"\tat java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1056)","sources":[{}]}
AGPBI: {"kind":"error","text":"\tat java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1692)","sources":[{}]}
AGPBI: {"kind":"error","text":"\tat java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:157)","sources":[{}]}
FAILED
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':app:transformDexArchiveWithDexMergerForDebug'.
> com.android.build.api.transform.TransformException: com.android.dex.DexException: Multiple dex files define Landroid/support/design/widget/CoordinatorLayout$OnPreDrawListener;
我的 build.gradle
buildscript {
repositories {
maven { url 'https://maven.fabric.io/public' }
mavenCentral()
}
dependencies {
classpath 'io.fabric.tools:gradle:1.+'
classpath 'me.tatarka:gradle-retrolambda:3.6.1'
}
}
apply plugin: 'com.android.application'
apply plugin: 'io.fabric'
repositories {
maven { url 'https://maven.fabric.io/public' }
}
android {
compileSdkVersion 27
buildToolsVersion '27.0.1'
defaultConfig {
minSdkVersion 14
targetSdkVersion 26
versionCode 1
versionName "1"
multiDexEnabled true
vectorDrawables.useSupportLibrary = true
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
buildTypes {
release {
signingConfig signingConfigs.release
shrinkResources false
minifyEnabled false
debuggable false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
debug {
shrinkResources false
debuggable true
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt')
}
}
}
repositories {
jcenter()
maven {
url "https://jitpack.io"
}
maven {
url 'https://download.01.org/crosswalk/releases/crosswalk/android/maven2'
}
mavenCentral()
google()
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile('com.crashlytics.sdk.android:crashlytics:2.8.0@aar') {
transitive = true
}
compile group: 'com.google.code.gson', name: 'gson', version: '2.8.0'
compile 'com.android.support:appcompat-v7:27.0.2'
compile 'com.android.support:design:27.0.2'
compile 'com.android.support.constraint:constraint-layout:1.0.2'
compile 'com.android.support:support-v4:27.0.2'
compile ('com.android.support:cardview-v7:27.0.2')
compile ('com.android.support:recyclerview-v7:27.0.2') {
exclude group: 'com.android.support.design.widget'
}
compile ('com.evernote:android-job:1.1.11')
compile ('com.google.android.gms:play-services-location:11.0.4')
compile ('com.google.android.gms:play-services-analytics:11.0.4')
compile ('com.google.firebase:firebase-messaging:11.0.4')
compile ('com.neovisionaries:nv-websocket-client:2.3')
compile ('com.squareup.okhttp3:okhttp:3.6.0')
compile ('com.squareup.okhttp3:okhttp-urlconnection:3.6.0')
compile ('com.squareup.okhttp3:logging-interceptor:3.6.0')
compile ('io.reactivex.rxjava2:rxandroid:2.0.1')
compile ('io.reactivex.rxjava2:rxjava:2.0.8')
compile ('com.artemzin.rxjava:proguard-rules:1.2.9.0')
compile ('com.squareup.retrofit2:converter-gson:2.2.0')
compile ('com.squareup.retrofit2:retrofit:2.2.0')
compile ('com.squareup.retrofit2:adapter-rxjava2:2.2.0')
compile ('io.requery:requery:1.4.0')
compile ('io.requery:requery-android:1.4.0')
compile 'com.android.support:multidex:1.0.1'
compile 'org.jsoup:jsoup:1.10.3'
testCompile 'junit:junit:4.12'
annotationProcessor 'io.requery:requery-processor:1.3.0'
compile 'org.xwalk:xwalk_core_library:19.49.514.5'
}
apply plugin: 'com.google.gms.google-services'
apply plugin: 'me.tatarka.retrolambda'
我正在尝试使用
exclude group: 'com.android.support', module: 'support-v4'
exclude group: 'com.android.support', module: 'design-v13'
exclude group: 'com.android.support.design'
exclude group: 'android.support.design'
没有帮助。如何从所有编译器中排除此库或以某种方式解决此问题?
如何查看模块重复的库?
有趣的是 - 一小时前它运作了,代码没有改变。构建很好,当我尝试在模拟器上安装应用程序时错误崩溃
答案 0 :(得分:0)
我不知道怎么做,但它有所帮助:
configurations {
all*.exclude group: 'com.android.support', module: 'support-v4'
}
答案 1 :(得分:0)
这是一个依赖性问题。请通过自动建议更新每个依赖项的版本。