我知道规则是,如果我们希望 ProGuard 正常工作,我们应该从 ProGuard 混淆中排除(例如,不混淆)库。这就是所有教程停止的地方。
在引擎盖下,这是什么原因?是不是因为它没有和我们项目一样的包名?我知道这是强制性的,因为当我忘记从 ProGuard 混淆中排除此类库时,我遇到了可怕的故事。
这条规则是否适用于我们自己的图书馆项目?它们也有不同的包名,但是虽然公共项目不需要被混淆,但我们自己的库确实必须被混淆。
显然,我对 ProGuard 的了解很全面,无法制定高质量的混淆计划,因为我上面提出的问题并没有给我清晰易懂的答案。