Android Proguard的库类和程序类之间的区别?

时间:2018-07-07 01:01:25

标签: android proguard android-proguard

在尝试使用proguard构建我的发行版APK时,我突然收到一堆关于库类的警告,具体取决于程序类。

Warning: library class org.** depends on program class org.**

library classprogram class指的是编译器?我正在检查这些类,它们都不属于我,它们来自我正在使用的库。那编译器告诉我什么?

还有关于如何解决这些问题的想法吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

确实,警告信息和 its documentation 的措辞可以更好。粗略地说,在这种情况下,“程序类”的意思是“混淆器认为应该混淆的类”,“库类”的意思是“另一个 jar 中使用待混淆类的类”。它认为您想混淆那些 3rd 方 jar,天真地这样做会引入部署风险。

尝试将未混淆的第 3 方 jar 添加到 -libraryjars 列表中,以告诉它不要混淆它们。