我弄了半天 发现还是不行
结果欲哭无泪 原来是我的反编译软件坏了!
后来我用了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下成功了
如图