您的位置:首页 > 大数据 > 人工智能

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

2016-06-15 21:44 399 查看
方法数超过了限制

Eclipse报错:Conversion to Dalvik format failed: Unable to execute dex: method ID not in [0, 0xffff]: 65536

Android Studio报错:Error:The number of method references in a .dex file cannot exceed 64K.



Studio很智能,还提供给你解决这个问题的网站

当然解决方案也在这个网站里面:https://developer.android.com/studio/build/multidex.html

解决方案是: Android引入multidex包, 他会根据方法数, 生成多个dex文件.

只需要配置下依赖, 然后在application 类里面修改继承关系, 然后初始化就可以解决了

配置build.gradle

android {
compileSdkVersion 21
buildToolsVersion "21.1.0"
defaultConfig {
...
minSdkVersion 14
targetSdkVersion 21
...
// Enabling multidex support.
multiDexEnabled true
}
...
}
dependencies{
compile 'com.android.support:multidex:1.0.0'//dependencies
}


androidManifest.xml中application中声明android.support.multidex.MultiDexApplication;

<?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>


或自己定义一个Application类,继承自MultiDexApplication;

或者自己定义的Application类,在attachBaseContext()方法中,添加MultiDex.install(this);

public class BaseApplication extends MultiDexApplication{

public void onCreate(Bundle arguments) {
MultiDex.install(getTargetContext());
super.onCreate(arguments);
...
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: