添加播放服务时出现意外的顶级异常

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,您可以只使用您想要的部分。这可能会解决您的问题