首页 > 解决方案 > 每个 dex 文件的最大引用方法数

问题描述

我的应用程序包含超过 64k 的引用方法,因此我使用 multidex 创建 dex 文件:

android {
  defaultConfig {
      ...
      multiDexEnabled true
  }

  dexOptions {
    preDexLibraries false
  }
}

dependencies {
  compile 'com.android.support:multidex:1.0.3'
}

我已经正确配置并创建了 dex 文件,但我想知道有没有办法限制每个 dex 文件的最大引用方法数?我将 Android 19 设置为最低版本。

我的主 dex 文件距离最多 65,536 个方法只有几个方法,所以我想将此数字降低到 ~60k 方法。目前还不能使用 ProGuard。

标签: androidandroid-gradle-pluginandroid-multidex

解决方案


如果您使用任何 google play 服务,请仅包含您需要的那些 API,而不是完整的 google-play-services。例如,如果您使用 admob 广告添加依赖项

compile 'com.google.android.gms:play-services:9.0.0'

而不是包括完整的播放服务库,如'compile com.google.android.gms:play:9.0.0'. 这将减少您的 dex 大小。


推荐阅读