我有一个结构如下的 android 应用程序:
主应用程序/
dependencies {
compile project(':lib-A')
compile project(':lib-B')
}
库-A/
dependencies {
compile 'Large3PLib'
compile 'Other-libs'
}
库-B/
dependencies {
compile 'Large3PLib'
}
当我编译时,我达到了多 dex 限制,我看到 main-app、lib-A 和 lib-B 都有非常大的 dex 计数,因为它们都包括“Large3PLib”。有没有办法告诉 gradle 只包含一次“Large3PLib”以减少我的 dex 计数?
笔记:
最佳答案
您可以编辑lib-A
和 lib-B
将依赖项标记为“已提供”:
provided 'Large3PLib'
这意味着它不会包含在生成的 jar 或 aar 中。但是你必须将它添加到根项目中:
dependencies {
compile 'Large3PLib'
compile project(':lib-A')
compile project(':lib-B')
}
关于Android 依赖多次包含,导致应用达到 dex 限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36435239/