error:
UNEXPECTED TOP-LEVEL EXCEPTION:
java.lang.IllegalArgumentException: method ID not in [0, 0xffff]: 65536
trouble writing output:
Too many field references: 131000; max is 65536.
reason:
Dex文件方法数超过了65535的上限
analyze:
solution:
1.minSdkVersion
设置为 21 或更高值,
您只需在模块级 build.gradle
文件中将 multiDexEnabled
设置为 true
,如此处所示:
android {
defaultConfig {
...
minSdkVersion 21
targetSdkVersion 28
multiDexEnabled true
}
...
}
2.minSdkVersion
设置为 20 或更低值
step1: 添加分包库依赖
compile 'com.android.support:multidex:1.0.3'
step2: 初始化
方法一:重写 attachBaseContext 方法
public class MyApplication extends Application {
@Override
protected void attachBaseContext(Context base) {
super.attachBaseContext(base);
MultiDex.install(this);
}
}
方法二:直接继承MultiDexApplication
public class MyApplication extends MultiDexApplication {
// 不需要重写attachBaseContext()
//..........
}