方法数超过了限制
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);
...
}
}