Android Studio DexIndexOverflowException: method ID not in in

我使用Android Studio开发应用程序,我遇到了这个错误,我不知道如何解决。

com.android.dex.DexIndexOverflowException: method ID not in [0, 0xffff]

:app:lintVitalRelease
:app:prePackageMarkerForRelease
:app:transformClassesWithDexForRelease FAILED
Error:Execution failed for task ':app:transformClassesWithDexForRelease'.
> com.android.build.api.transform.TransformException: com.android.ide.common.process.ProcessException: java.util.concurrent.ExecutionException: com.android.dex.DexIndexOverflowException: method ID not in [0, 0xffff]: 65536
Information:BUILD FAILED
Information:Total time: 34.783 secs
Information:1 error 

答案 1

尝试在 build.gradle 中启用 multiDex:

android {

    defaultConfig {
        ...

        // Enabling multidex support.
        multiDexEnabled true
    }
    ...
}

dependencies {
  compile 'com.android.support:multidex:1.0.0'
}

本文可能会有所帮助: DexIndexOverflowException 更新到最新的应用程序兼容和支持库后出现问题


答案 2

Android 对 Methods 的预定义上限为 65536。

如果您将游戏服务作为整体添加,请将其删除并添加特定的服务。

删除,然后添加 ex: 用于地图。compile 'com.google.android.gms:play-services:9.6.1'compile 'com.google.android.gms:play-services-maps:9.6.1'

https://developers.google.com/android/guides/setup

显示了编译应用时可以包含的单独 API 的列表,以及如何在 build.gradle 文件中描述它们


推荐