【问题标题】:Prevent reaching 65k methods in Android防止在 Android 中达到 65k 方法
【发布时间】:2016-06-15 20:54:12
【问题描述】:

每次不经考虑地使用外部库都会导致 Gradle 错误达到 65k 方法。所以我想知道防止这种情况的最佳解决方案是什么,我不想考虑使用 Proguard 自定义设置。

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

问题

  • 但是使用 Gradle 获取 jar 和 手动输入代码?还是在性能上有什么不同?

我将感谢在使用许多库创建项目时的任何最佳实践。

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

【问题讨论】:

    标签: android gradle proguard android-multidex


    【解决方案1】:

    您可以在 gradle 中做的一件事是非常具体地了解您所包含的代码模块。

    例如:

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

    将包括更多的东西,而不仅仅是......

    compile 'com.google.android.gms:play-services-location:8.4.0'

    一般最好让 gradle 管理外部依赖。最大的原因是您可以放心,您可以获得与特定版本相关的代码的快照。如果您只是手动导入代码,很容易忘记您正在使用的代码版本。从第 3 方修改(或有选择地包含)代码的一大风险是当第 3 方更新他们的代码时,可能是为了修复由新版本的 Android 引起的主要错误,并且其中包含一些会破坏您的手动调整的更改。现在你手上的问题比你刚刚将它包含为一个 gradle 依赖项更复杂。

    【讨论】:

      猜你喜欢
      • 2015-06-18
      • 1970-01-01
      • 2015-03-14
      • 2021-11-10
      • 2011-12-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多