64k方法数限制原理与解决Android5.0之前的版本分包报错发现的

Android开发的朋友,遇到很多这样的情况,随着功能的增加,方法数增多,就会出现所谓的64k方法数问题。

产生原因

Android APK文件本质上是一个压缩文件,它包含的classes.dex文件是Dalvik字节码文件,这个dex文件中存放的就是编译后的Java代码。Dalvik可执行文件规范限制了单个.dex文件最多引用的方法数是65536个。

MultiDex的使用

google为了规避上述问题,推出了MultiDex解决方案解决方法数超限问题

配置build.gradle

android {
compileSdkVersion 21
buildToolsVersion “21.1.0”//必须使用21或之后的版本
defaultConfig {

minSdkVersion 14
targetSdkVersion 21

    // Enabling multidex support.
    multiDexEnabled true
}
...

}
dependencies {
compile ‘com.android.support:multidex:1.0.0’
}
配置Application

如果用户没有重写Application,只需修改Manifest文件中的内容:

你可能感兴趣的:(android)