【发布时间】:2015-06-11 20:16:25
【问题描述】:
我知道规则是,如果我们希望 ProGuard 正常工作,我们应该从 ProGuard 混淆中排除(例如,不混淆)库。这就是所有教程停止的地方。
在幕后,这是什么原因?是不是因为它没有和我们项目一样的包名?我知道这是强制性的,因为当我忘记从 ProGuard 混淆中排除此类库时,我遇到了可怕的故事。
这条规则是否适用于我们自己的图书馆项目?它们也有不同的包名,但是虽然公共项目不需要被混淆,但我们自己的库确实必须被混淆。
显然,我在 ProGuard 知识方面有一个整体,无法制定质量混淆计划,因为我上面提出的问题并没有给我清晰易懂的答案。
【问题讨论】:
-
您从哪里听说您应该从 proguard 中排除整个库?这不是真的。
-
好吧,我们不会混淆它们,这就是我在排除下的意思。我的结论是,在遇到 Facebook 问题后,支持库、gson 和许多其他第三方库。