官方文档: https://developer.android.com/studio/build/multidex#testing
Android
平台的Java
虚拟机Dalvik
执行Dex
程序时,使用的是short
类型来索引DEX
文件中的方法。这就意味着单个Dex
文件可被引用的方法总数被限制为65536。其中包括:
- Android Framework的方法。
- library的方法。
- 我们自己写的方法。
解决方案:
1.build.gradle修改如下:
android {
compileSdkVersion 28
defaultConfig {
.....
// Enabling multidex support.
multiDexEnabled true
}
....
}
dependencies {
......
implementation 'com.android.support:multidex:1.0.2'
}
2.AndroidManifest.xml
中,指定android:name
,使用基类MultiDexApplication
,android:name
的介绍可参看https://blog.csdn.net/hgy413/article/details/85248174。
或者还是使用基类Application
,但需要重写attachBaseContext()
方法并调用MultiDex.install(this)
来支持multidex
。
当然如果你没有全局初始化需求,直接写成android:name="android.support.multidex.MultiDexApplication"
即可。