有没有办法在Android Studio中使用MultiDex功能时限制主dex文件中的方法数量

前端之家收集整理的这篇文章主要介绍了有没有办法在Android Studio中使用MultiDex功能时限制主dex文件中的方法数量前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
当我在 Android Studio中启用 MultiDex feature时就像文档所说的那样,它会自动转换为两个或更多dex文件.我无法配置它.似乎在主dex文件中,方法数量非常接近限制(65536).

问题是如何配置它,使主dex文件中的方法数量减少到一定数量,比如60k.我必须将apk上传到亚马逊appstore,亚马逊的人会在主要的dex文件添加一些方法并使其超过65536的限制.

解决方法

dx工具有以下选项:

> –minimal-main-dex – 将只将main-dex-list选择的类放入主dex中.
> –set-max-idx-number – 未记录的选项,用于确定每个dex文件的最大方法数.

您必须通过指定这两个选项来自定义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相关文章