每次未经考虑的外部库使用都会导致Gradle错误达到65k方法。因此,我想知道防止这种情况的最佳解决方案是什么,我不想考虑使用Proguard自定义设置。
我想到的是什么(当然,如果我们使用开源库)只是下载代码并手动将它放到我们的项目中。然后我们可以删除未使用的类和方法。看起来我们正在扮演Proguard的角色并且耗费时间。
问题
我将感谢任何创建具有许多库的项目的最佳实践。
注意:我想暂时不考虑Proguard自定义设置,因为它经常产生警告,省略它们对我来说看起来有点奇怪。 -dontwarn
。此外,我有点害怕使用MultiDex支持,我不建议这样做。
答案 0 :(得分:1)
您可以在gradle中做的一件事就是对您所包含的代码模块进行非常具体的说明。
例如:
compile 'com.google.android.gms:play-services:8.4.0'
将包含更多的东西,而不仅仅是......
compile 'com.google.android.gms:play-services-location:8.4.0'
通常,让gradle管理外部依赖项是最好的。最大的原因是您可以放心,您可以获得与特定版本绑定的代码的快照。如果您只是手动导入代码,则很容易忘记您正在使用的代码版本。从第三方修改(或有选择地包括)代码的一个很大的风险是,当第三方更新他们的代码时,可能是为了修复由新版Android引起的主要错误,并且他们包含了一些破坏您的手动调整的更改。现在你手上有一个复杂的问题,而不是你把它作为一个gradle依赖项。