AndroidStudio 3.1 multi dex 分包

我弄了半天 发现还是不行

结果欲哭无泪 原来是我的反编译软件坏了!

后来我用了analyzer,发现确实是分包成功了




我现在希望把MainActivity分到主包中

Other分到2包中


怎么做?


build.gradle

defaultConfig {
    applicationId "com.example.myapplication"
    minSdkVersion 16
    targetSdkVersion 27
    versionCode 1
    versionName "1.0"
    testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"

    multiDexEnabled true
    multiDexKeepProguard file('multiDexKeep.pro') // keep specific classes using proguard syntax
    multiDexKeepFile file('maindexlist.txt') // keep specific classes
}

和defaultconfig同一级别给出

dexOptions {//dex配置
    javaMaxHeapSize "4g"
    preDexLibraries = false
    def listFile = project.rootDir.absolutePath+'/app/maindexlist.txt'
    additionalParameters = [//dex参数详见 dx --help
                            '--multi-dex',//多分包
                            '--set-max-idx-number=60000',//每个包内方法数上限
                            '--main-dex-list='+listFile,//打包进主classes.dex的文件列表
                            '--minimal-main-dex'//使上一句生效
    ]
}

然后在app目录下的maindexlist.txt

我先从


拷了这个文件到app目录下,再把我想要保留在第一个dex中的类写进去了,果然成功了!


这样就完事了,反正我3.1下成功了

如图


猜你喜欢

转载自blog.csdn.net/qq_36523667/article/details/80329077
3.1
今日推荐