主包设置方法
Android-Easy-MultiDex在android gradle plugin 1.5.0-2.2.x
之间的可以用,在2.3.0
之后,由于gradle的api发生了变化,不能用了。
幸好com.android.tools.build:gradle:2.2.0+
之后,官方有了新的方法:
android {
dexOptions {
additionalParameters '--minimal-main-dex', '--set-max-idx-number=40000'
}
defaultConfig {
multiDexEnabled true
multiDexKeepFile file('maindex_keep.txt')
multiDexKeepProguard file('maindex_keep.pro')
}
...
}
dependencies {
compile 'com.android.support:multidex:1.0.1'
...
}
additionalParameters
对应dx
的附加参数,如:最小主包,设置单个dex最大方法数。
multiDexEnabled,multiDexKeepFile,multiDexKeepProguard 这3个配置在
productFlavors
中也可以使用,因为defaultConfig
和ProductFlavor
都实现了BaseConfig
,进而可以用dev flavor
和prod flavor
区分是否使用分包keep规则。
maindex_keep.txt
文件里面写具体的类
com/example/MyClass.class
com/example/MyClass2.class
maindex_keep.pro
文件里写proguard规则
-keep class com.example.** { *; }
其他
快速加载secondary dex
类库: TurboDex