ProGuard 警告:有 7 个未解析的程序类成员引用

2022-09-03 15:05:20

ProGuard 停止时会发出很多警告:

警告:有 1221 个未解析的类或接口引用。您可能需要添加缺少的库 jar 或更新其版本。如果您的代码在没有缺少类的情况下工作正常,则可以使用“-dontwarn”选项禁止显示警告。(http://proguard.sourceforge.net/manual/troubleshooting.html#未解析类)

警告:根据程序类,有 37 个库类实例。您必须避免此类依赖关系,因为将处理程序类,而库类将保持不变。(http://proguard.sourceforge.net/manual/troubleshooting.html#依赖关系)警告:有 7 个未解析的程序类成员引用。您的输入类似乎不一致。您可能需要重新编译代码。(http://proguard.sourceforge.net/manual/troubleshooting.html#未解析程序类成员)

错误:请先更正上述警告。

但是我的罐子运行正常。我不太熟悉护卫设置。有什么建议吗?


答案 1

我将引用您问题的一个非常相关的部分(即答案)。

如果您的代码在没有缺少类的情况下工作正常,则可以使用“-dontwarn”选项禁止显示警告

因此,运行它,因为我的jar可以正常运行。-dontwarn

记录(根据您的问题)这里还有一个选项,如果您有要添加的外部库,则可以使用该选项。-libraryjars


答案 2

这里最好的办法是在progyard配置文件中添加库。在它的顶部,就在输入和输出jar路径之后,放置这样的行,每个库jar都有一个:

-libraryjars 'path/to/jar/file.jar'

这告诉 proguard 从指定的 jar 加载缺少的类。


推荐