【发布时间】:2015-05-12 16:37:33
【问题描述】:
我在一个 Android 项目中使用 Guava。我达到了 65k 方法限制,导致 gradle 构建失败。我发现这可以通过使用proguard来解决。我在发布版本上运行 Proguard,它工作正常。我不想在调试版本上运行 proguard,因为它使调试变得困难。我想知道是否有办法解决这个问题?我正在考虑的一个选择是构建一个本地 guava.jar 并将其定义为依赖项,而不是从 maven Central 中提取它。有没有更好的方法来做到这一点?
【问题讨论】:
-
在调试版本上运行 ProGuard 并不可怕 - 它可以帮助您及早发现任何 ProGuard 配置错误,而不是试图在您的发布版本中跟踪它们。
-
每次在调试版本中运行 proguard 会浪费很多时间。你能检查你正在使用的所有库的方法计数吗?您是否使用精简版的 google play 服务?
-
谢谢@Gaurav,我正在使用剥离版本的谷歌播放服务,现在番石榴是最大的罪犯,仅使用 14K+ 方法。
-
你能从 guava lib 中排除一些包吗,通过在 gradle 依赖项中使用 'exclude
。 -
我检查了依赖项,发现他们主要使用“common.collect.”,包,但那里的东西有其他人的引用。现在我可以使用 jarjar 来构建一个包含该包中的类的 jar。
标签: android proguard guava android-gradle-plugin android-guava