外部库的每一次未考虑使用都会导致Gradle错误,导致达到65k方法。所以我想知道什么是最好的解决方案,并且我不想考虑使用Proguard自定义设置。

我想到的(当然,如果我们使用的是开源库)只是下载代码并将其手动放入我们的项目中。然后,我们可以删除未使用的类和方法。看起来我们在扮演Proguard的角色,而且很耗时。

问题

  • 但是,使用Gradle来获取 jar 和
    手动放置代码?还是性能上有什么不同?

  • 对于创建带有许多库的项目的最佳实践,我将深表感谢。

    注意:我现在想暂时停止考虑Proguard自定义设置,因为它经常会产生警告,而忽略这些警告对我来说有点奇怪,例如-dontwarn。另外,我有点害怕使用MultiDex支持,不建议您这样做。

    最佳答案

    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依赖项包括在内相比,您面临的问题更加复杂。

    关于android - 防止在Android中达到65k的方法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35756793/

    10-11 22:32
    查看更多