如文档所述,当我在Android Studio中启用MultiDex feature时,它会自动拆分为两个或多个dex文件。我无法配置它。而且在主dex文件中,方法的数量似乎非常接近限制(65536)。
问题是如何配置它,使主dex文件中的方法数量减少到一定数量,例如60k。我必须将apk上传到亚马逊应用商店,亚马逊人民将在dex主文件中添加一些方法,使其超过65536的限制。
最佳答案
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。
关于android - 在Android Studio中使用MultiDex功能时,是否有一种方法可以限制主dex文件中的方法数量,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27631500/