简单的AndroidStudio分包

    xiaoxiao2021-03-25  99

    第一步:引入

    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

    转载请注明原文地址: https://ju.6miu.com/read-19452.html

    最新回复(0)