天天看点

解决Android 应用方法数不能超过65K的问题

Conversion to Dalvik format failed:Unable toexecute dex: method ID not in [0, 0xffff]: 65536

如果你的应用出现这种问题,那恭喜你,你的app内容已经非常多了,也恭喜你遇到了这么一个坑爹的问题这个问题在很多地方都有解释如果解决,但是都非常麻烦,我给个比较方便的

此处讲解用的是android studio

首先配置build.gradle

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.1"

    defaultConfig {
        ...
        minSdkVersion 14
        targetSdkVersion 23
        ...

        // Enabling multidex support.
        multiDexEnabled true
    }
    
    dexOptions {
	javaMaxHeapSize "4g"
    }
    ...
}

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

最后在application或者是你的AppContext 中加入初始化操作就可以了,也可以在onCreate里面执行,要放在super.onCreate(); 的前面。

<pre style="overflow: auto; margin-top: 20px; margin-bottom: 20px; padding: 15px; background-image: initial; background-attachment: initial; background-size: initial; background-origin: initial; background-clip: initial; background-position: initial; background-repeat: initial;"><span style="word-break: break-all; border-radius: 4px; background-image: none; background-attachment: initial; background-size: initial; background-origin: initial; background-clip: initial; background-position: initial; background-repeat: initial;">public class AppContext extends Application {

    @Override
    protected void attachBaseContext(Context base) {
        super.attachBaseContext(base);
        MultiDex.install(this);
    }

    @Override
    public void onCreate() {
        super.onCreate();
    }
}</span>
           

如果你想知道你的应用现在到底是有多少个方法了,可以使用如下方法

解决Android 应用方法数不能超过65K的问题
解决Android 应用方法数不能超过65K的问题

打开命令行

进入e盘的dex文件夹

然后输入如下命令java -jar dex-method-counts.jar navigation-debug-v1.00.30-2016-02-03.apk

解决Android 应用方法数不能超过65K的问题
解决Android 应用方法数不能超过65K的问题

回车之后会统计

解决Android 应用方法数不能超过65K的问题
解决Android 应用方法数不能超过65K的问题

工具包的下载地址:点击打开链接

http://download.csdn.net/detail/asd2603934/9432831