构建工具21.1.2 - 意外的顶级例外 [英] Build Tools 21.1.2 – UNEXPECTED TOP-LEVEL EXCEPTION
问题描述
我突然遇到了这种问题,构建/运行我的项目的时候。
I'm suddenly running into this issue when building/running my project.
Error:Execution failed for task ':app:dexDebug'.
> com.android.ide.common.internal.LoggedErrorException: Failed to run command:
/Users/aidanfollestad/Documents/android-sdk/build-tools/21.1.2/dx --dex --no-optimize --output /Users/aidanfollestad/Android Projects/Impression/app/build/intermediates/dex/debug --input-list=/Users/aidanfollestad/Android Projects/Impression/app/build/intermediates/tmp/dex/debug/inputList.txt
Error Code:
2
Output:
UNEXPECTED TOP-LEVEL EXCEPTION:
com.android.dex.DexIndexOverflowException: method ID not in [0, 0xffff]: 65536
at com.android.dx.merge.DexMerger$6.updateIndex(DexMerger.java:502)
at com.android.dx.merge.DexMerger$IdMerger.mergeSorted(DexMerger.java:277)
at com.android.dx.merge.DexMerger.mergeMethodIds(DexMerger.java:491)
at com.android.dx.merge.DexMerger.mergeDexes(DexMerger.java:168)
at com.android.dx.merge.DexMerger.merge(DexMerger.java:189)
at com.android.dx.command.dexer.Main.mergeLibraryDexBuffers(Main.java:454)
at com.android.dx.command.dexer.Main.runMonoDex(Main.java:303)
at com.android.dx.command.dexer.Main.run(Main.java:246)
at com.android.dx.command.dexer.Main.main(Main.java:215)
at com.android.dx.command.Main.main(Main.java:106)
我的摇篮文件中包含的:
My Gradle file contains this:
buildscript {
repositories {
maven { url 'https://maven.fabric.io/public' }
}
dependencies {
classpath 'io.fabric.tools:gradle:1.14.+'
}
}
apply plugin: 'com.android.application'
apply plugin: 'io.fabric'
apply plugin: 'versionPlugin'
android {
compileSdkVersion 21
buildToolsVersion "21.1.2"
defaultConfig {
applicationId "com.afollestad.impression"
minSdkVersion 16
targetSdkVersion 21
versionCode 19
versionName "0.7.0"
}
}
repositories {
mavenCentral()
maven { url 'https://maven.fabric.io/public' }
}
dependencies {
compile 'com.android.support:appcompat-v7:21.0.+'
compile 'com.android.support:recyclerview-v7:21.0.+'
compile 'com.koushikdutta.ion:ion:2.0.+'
compile 'com.github.chrisbanes.photoview:library:1.2.+'
compile 'com.afollestad:material-dialogs:0.4.5'
compile 'com.google.android.gms:play-services:6.5.87'
compile 'com.google.api-client:google-api-client:1.18.0-rc'
compile 'com.google.api-client:google-api-client-android:1.18.0-rc'
compile 'com.google.api-client:google-api-client-gson:1.18.0-rc'
compile 'com.google.apis:google-api-services-drive:v2-rev152-1.19.0'
compile('com.crashlytics.sdk.android:crashlytics:2.1.0@aar') {
transitive = true;
}
}
versionPlugin{
buildTypesMatcher = 'release'
supportBuildNumber = false
fileNameFormat = '$appPkg-v$versionName-$versionCode'
}
我的材料对话框库引用仅AppCompat-V7,同样版本的摇篮文件引用。我没有在我的库文件夹中,我引用的任何JAR文件。我不知道库互相干扰(除播放服务和AppCompat的可能性?)。任何意见或解决方案?
My material-dialogs library references only AppCompat-v7, the same version this Gradle file is referencing. I don't have any JARs in my libs folder that I'm referencing. I have no idea what libraries are interfering with each other (other than the possibility of Play Services and AppCompat?). Any ideas or solutions?
我注意到了支持库的离子引用V4(的https: //github.com/koush/ion/blob/master/ion/build.gradle#L17 ),也许这可能是与AppCompat干扰?
I noticed Ion references v4 of the support library (https://github.com/koush/ion/blob/master/ion/build.gradle#L17), maybe that could be interfering with AppCompat?
推荐答案
尝试启用multidex build.gradle:
Try to enable multidex build.gradle :
android {
defaultConfig {
...
multiDexEnabled = true
}
}
编号:<一href="http://stackoverflow.com/questions/15209831/unable-to-execute-dex-method-id-not-in-0-0xffff-65536">Unable执行DEX:方法ID不是在[0,0xFFFF的]:65536
这篇关于构建工具21.1.2 - 意外的顶级例外的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!