android - 每个 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。
解决方案
如果您使用任何 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 大小。
推荐阅读
- reactjs - 如何在查询中处理“无法读取 null 的属性‘节点’”
- ruby - 在 BFS 中重建图中的最短路径
- docker - 恐慌:无法引导订购者。读取创世块文件时出错:打开/etc/hyperledger/fabric/genesisblock:没有这样的文件或目录 - 无法解析
- php - 在 mysql 中查找日期大于 Now 的行
- unity3d - 如何使用您在 Text Mesh Pro 中统一导入的字体
- javascript - 在一个集合中使用嵌入文档和多个模式,猫鼬
- c++ - 在构造之前使用的静态链接库中的静态变量
- vue.js - 单击按钮时更新元素不起作用
- r - 使用 R,如何准备一个带有可选“导入”的库?
- ios - 使用 xamarin 插件“ImageCropper.Forms”时如何隐藏“拍照”菜单项