android分包之主包设置方法

主包设置方法

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中也可以使用,因为defaultConfigProductFlavor都实现了 BaseConfig,进而可以用dev flavorprod flavor区分是否使用分包keep规则。

maindex_keep.txt文件里面写具体的类

com/example/MyClass.class
com/example/MyClass2.class

maindex_keep.pro文件里写proguard规则

-keep class com.example.** { *; }

其他

快速加载secondary dex类库: TurboDex

你可能感兴趣的:(android分包之主包设置方法)