简单的AndroidStudio分包

这篇博客详细介绍了如何在Android Studio中进行应用的分包操作,包括引入multidex包,配置启动分包及保留关键类。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

第一步:引入

compile 'com.android.support:multidex:1.0.0'

第二步:启动引入的包

multiDexEnabled = true

第三部:写配置

dexOptions {//dex配置
    javaMaxHeapSize "2g"

    preDexLibraries = false
    additionalParameters = ['--multi-dex',
                            '--main-dex-list=' + project.rootDir.absolutePath + '/app/maindexlist.txt',
                            '--minimal-main-dex',
                            '--set-max-idx-number=50000']
}

====================================================================================================================================

好了,现在来解释一下第三部的内容

javaMaxHeapSize "2g"   --------->   增大配给的内存

'--set-max-idx-number=50000'       --------->   自定义方法数量(可以突破65535的限制)

'--main-dex-list=' + project.rootDir.absolutePath + '/app/maindexlist.txt'  ----->指向你所写的详细配置(第一个包需要保留的类)


maindexlist.txt里面的内容
// multidex
android/support/multidex/MultiDex.class
android/support/multidex/MultiDexApplication.class
android/support/multidex/MultiDexExtractor$1.class
android/support/multidex/MultiDexExtractor.class
android/support/multidex/MultiDex$V14.class
android/support/multidex/MultiDex$V19.class
android/support/multidex/MultiDex$V4.class
android/support/multidex/ZipUtil$CentralDirectory.class
android/support/multidex/ZipUtil.class

// 我主包中包含的类
demo/com/mydemo/application/AppApplication.class
demo/com/mydemo/activity/MainActivity.class
demo/com/mydemo/utils/FixDexUtil.class
demo/com/mydemo/utils/MyConstants.class


首先,引入的multidex包里面的类需要保留在分包的主包里面

第二,主包中你需要保留的类,

AppApplication.class和MainActivity.class是必须保留在主包里面的,其他的自定义
第三,在AppApplication.class中你需要考虑两种情况
第1种情况.AppApplication extends Application
你需要 一个方法
protected void attachBaseContext(Context context) {
    super.attachBaseContext(context);
    MultiDex.install(this);
}

第2种情况AppApplication extends MultiDexApplication


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值