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

当我在 Android Studio中启用 MultiDex feature时就像文档所说的那样,它会自动转换为两个或更多dex文件.我无法配置它.似乎在主dex文件中,方法数量非常接近限制(65536).

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

解决方法

dx工具有以下选项:

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

您必须通过指定这两个选项来自定义build.gradle脚本.在示例(source)中:@H_502_3@

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.@H_502_3@

编辑(1-9-2016):
Android插件1.5版不允许在dx中添加其他参数,但在即将推出的版本中添加it seems that it will be fixed.@H_502_3@

相关文章

Android性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...