我使用proguard
来模糊我的jar文件。
在处理过程中,我遇到了以下错误:
Initializing...
Warning: tdvep.jmNb: can't find referenced class QSYGWO
Warning: tdvep.qmfsfjttKdvEpNz: can't find referenced class FVTYBN
Warning: tdvep.qsfboBcSw$qsffmtssf: can't find referenced class UGKTLU
Warning: tdvep.qsffmtssf: can't find referenced class DREQUQ
Warning: there were 4 unresolved references to classes or interfaces.
You may need to specify additional library jars (using '-libraryjars').
请先纠正上述警告。 因此,请指导我解决此警告。
答案 0 :(得分:1)
您是否已查看ProGuard问题排查部分 - Problems while processing。
如果有unresolved references to classes or interfaces
,您很可能忘记指定基本库。为了正确处理,必须指定代码引用的所有库,包括Java运行时库。要指定库,请使用-libraryjars
选项。
例如,如果ProGuard
抱怨它无法找到javax.crypto
类,您可能仍需要指定jce.jar, next to the more common rt.jar.
如果你错过了一个图书馆并且你绝对不确定它是否已被使用,你可以试试-ignorewarnings
选项,甚至是-dontwarn option
。如果您真的知道自己在做什么,请仅使用这些选项。
例如,如果您正在为Android
进行开发,并且ProGuard抱怨它无法找到java.awt class
,那么您使用的某个库指的是java.awt
。这有点阴暗,因为Android根本没有此软件包,但如果您的应用程序无论如何都可以使用,您可以ProGuard
接受"-dontwarn java.awt.**"
。