android分包之主包设置方法

主包设置方法

Android-Easy-MultiDexandroid 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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容