当我在Android Studio中启用MultiDex feature时,就像文档所说的那样,它会自动转换为两个或多个dex文件。我无法配置它。似乎在主dex文件中,方法的数量非常接近限制(65536)。
问题是如何配置它,使主dex文件中的方法数量减少到一定数量,比如60k。我必须将apk上传到亚马逊appstore,亚马逊的人会在主要的dex文件中添加一些方法,并使其超过65536的限制。
答案 0 :(得分:11)
dx工具有以下选项:
您必须通过指定这两个选项来自定义 build.gradle 脚本。在示例中(source):
tasks.withType(com.android.build.gradle.tasks.Dex) { dexTask ->
def command = [] as List
command << ' --minimal-main-dex'
command << ' --set-max-idx-number=50000'
dexTask.setAdditionalParameters(command)
}
请注意,如果您的主要dex太大,这将无济于事。有一些规则可以规定哪些类应放在主dex中。我在博客上写了here。
编辑(1-9-2016):
Android插件1.5版不允许在dx中添加其他参数,但在即将推出的版本中添加it seems that it will be fixed。