我刚刚将我的项目移至 Android Studio 2.2,但无法生成我的 apk。
我收到此错误消息:
错误:任务“: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
我应该怎样做才能消除这个错误?
最佳答案
您的项目中方法引用的数量超过 65536,这是一个 dex 文件中可以存在的最大数量。在这种情况下,您应该按照以下步骤声明您的 MultiDex 类型的应用程序:
1- 将 multidex 依赖项添加到您的应用级别 build.gradle
:
compile 'com.android.support:multidex:1.0.1'
2- 在应用程序级别 build.gradle 的 defaultConfigs 中启用 multidex:
android {
defaultConfig {
...
// Enabling multidex support.
multiDexEnabled true
}
...
}
3- 定义一个新类 MyApplication,它扩展了 MultidexApplication,它将作为应用程序的入口点。
public class MyApplication extends MultidexApplication
4-最后,您应该在 AndroidManifest.xml 中声明这个新类
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="your.package.name">
<application
android:name=".path-to.MyApplication">
...
</application>
</manifest>
关于java - 迁移到 Android Studio 2.2 后出现 DexIndexOverflowException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39918384/