添加播放服务时出现意外的顶级异常
UNEXPECTED TOP-LEVEL EXCEPTION when adding play-services
我有一个项目需要使用 Google 播放服务库。但是当我将它添加到我的依赖项时,出现以下错误:
意外的顶级异常
Error:Execution failed for task ':app:dexDebug'.
com.android.ide.common.internal.LoggedErrorException: Failed to run command:
C:\Eclipse\adt-bundle-windows-x86_64-20140702\sdk\build-tools.1.2\dx.bat --dex --no-optimize --output C:\Users\Reigstad\Documents\secret-tyrion-android\Tyrion\app\build\intermediates\dex\debug --input-list=C:\Users\Reigstad\Documents\secret-tyrion-android\Tyrion\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.updateIndex(DexMerger.java:502)
at com.android.dx.merge.DexMerger$IdMerger.mergeSorted(DexMerger.java:283)
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)>
我的 build.gradle 看起来像这样:
apply plugin: 'com.android.application'
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
compile 'com.android.support:appcompat-v7:21.0.3'
compile 'com.facebook.android:facebook-android-sdk:3.21.1'
compile 'com.squareup.retrofit:retrofit:1.9.0'
compile 'org.immutables:gson:1.1.3'
compile 'org.parceler:parceler:0.2.15'
compile 'com.google.android.gms:play-services:6.5.87'
}
android {
compileSdkVersion 21
buildToolsVersion "21.1.2"
defaultConfig {
applicationId "com.example.tyrion.tyrion"
minSdkVersion 13
targetSdkVersion 21
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
packagingOptions {
exclude 'META-INF/LICENSE.txt'
exclude 'META-INF/NOTICE.txt'
}
}
}
repositories { mavenCentral()}
我已经尝试了我能找到的所有解决方案,但其中 none 似乎对我有用。我的项目工作正常,只是当我添加库时它不会工作。
希望大家帮帮忙
您可能达到了 65k 个方法的限制。要更精细地使用 Google Play 服务,请遵循 this guide,您可以只使用您想要的部分。这可能会解决您的问题
我有一个项目需要使用 Google 播放服务库。但是当我将它添加到我的依赖项时,出现以下错误:
意外的顶级异常
Error:Execution failed for task ':app:dexDebug'. com.android.ide.common.internal.LoggedErrorException: Failed to run command: C:\Eclipse\adt-bundle-windows-x86_64-20140702\sdk\build-tools.1.2\dx.bat --dex --no-optimize --output C:\Users\Reigstad\Documents\secret-tyrion-android\Tyrion\app\build\intermediates\dex\debug --input-list=C:\Users\Reigstad\Documents\secret-tyrion-android\Tyrion\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.updateIndex(DexMerger.java:502) at com.android.dx.merge.DexMerger$IdMerger.mergeSorted(DexMerger.java:283) 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)>
我的 build.gradle 看起来像这样:
apply plugin: 'com.android.application'
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
compile 'com.android.support:appcompat-v7:21.0.3'
compile 'com.facebook.android:facebook-android-sdk:3.21.1'
compile 'com.squareup.retrofit:retrofit:1.9.0'
compile 'org.immutables:gson:1.1.3'
compile 'org.parceler:parceler:0.2.15'
compile 'com.google.android.gms:play-services:6.5.87'
}
android {
compileSdkVersion 21
buildToolsVersion "21.1.2"
defaultConfig {
applicationId "com.example.tyrion.tyrion"
minSdkVersion 13
targetSdkVersion 21
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
packagingOptions {
exclude 'META-INF/LICENSE.txt'
exclude 'META-INF/NOTICE.txt'
}
}
}
repositories { mavenCentral()}
我已经尝试了我能找到的所有解决方案,但其中 none 似乎对我有用。我的项目工作正常,只是当我添加库时它不会工作。
希望大家帮帮忙
您可能达到了 65k 个方法的限制。要更精细地使用 Google Play 服务,请遵循 this guide,您可以只使用您想要的部分。这可能会解决您的问题