主包設(shè)置方法
Android-Easy-MultiDex在android gradle plugin 1.5.0-2.2.x
之間的可以用,在2.3.0
之后奕扣,由于gradle的api發(fā)生了變化薪鹦,不能用了。
幸好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
對應(yīng)dx
的附加參數(shù)池磁,如:最小主包,設(shè)置單個dex最大方法數(shù)楷兽。
multiDexEnabled地熄,multiDexKeepFile,multiDexKeepProguard 這3個配置在
productFlavors
中也可以使用芯杀,因為defaultConfig
和ProductFlavor
都實現(xiàn)了BaseConfig
端考,進而可以用dev flavor
和prod flavor
區(qū)分是否使用分包keep規(guī)則。
maindex_keep.txt
文件里面寫具體的類
com/example/MyClass.class
com/example/MyClass2.class
maindex_keep.pro
文件里寫proguard規(guī)則
-keep class com.example.** { *; }
其他
快速加載secondary dex
類庫: TurboDex