Android Studio 遇到 “method ID not

2017-05-05  本文已影响39人  工木南ng

错误日志
Error:Execution failed for task ':app:transformClassesWithDexForDebug'.

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

错误原因是:App中所引用的方法已经超过了最大数65536个方法! 解决方法:
步骤一:

defaultConfig {
    ...
    minSdkVersion 14
    targetSdkVersion 21
    ...

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

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

步骤三
第一种 情况:app没有重写Application
<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.android.multidex.myapplication"> <application ... android:name="android.support.multidex.MultiDexApplication"> ... </application></manifest>

第二种情况: App重写Application
public class MainApplication extends MultiDexApplication{ @Override protected void attachBaseContext(Context base) { super.attachBaseContext(base); MultiDex.install(this); } @Override public void onCreate() { super.onCreate(); }}

上一篇 下一篇

猜你喜欢

热点阅读