在为我正在使用的所有库添加proguard规则后,我仍然收到以下警告:
警告:有14个类或接口的未解析引用。
您可能需要添加丢失的库jar或更新它们的版本。
如果代码在没有缺少类的情况下运行良好,则可以取消
带有'-dontwarn'选项的警告。
(http://proguard.sourceforge.net/manual/troubleshooting.html unsolvedclass)
我知道我可能可以使用-dontwarn选项来消除此警告,但因此我需要知道哪些包/类/接口无法解析。android不支持全球性的“-dontwarn”。
在日志文件中,我发现了很多注释和警告,但它们似乎都与上述消息无关。

最佳答案

如果收到Warning: there were X unresolved references to classes or interfaces,请在生成日志中查找包含单词Warning的行,例如:

Warning: com.package.Class1: can't find referenced class org.library.Class2

这样的行将告诉proguard试图处理哪些类,以及在输入jar中找不到哪些类。在上面的示例中,类Class1将引用库的Class2,但在生成路径中找不到Class2
正如您所提到的,您可以简单地添加-dontwarn <class regex>来忽略这些警告,但理想情况下,您应该逐个检查这些警告,以确保您的配置正确,并且所有必需的依赖项都被正确导入。

10-06 06:54