Java 使用proguard混淆jar文件
我使用了Java 使用proguard混淆jar文件,java,obfuscation,proguard,Java,Obfuscation,Proguard,我使用了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
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').
请先更正以上警告。
因此,请指导我解决此警告。您是否查看了ProGuard疑难解答部分- 如果存在对类或接口的
未解析引用
,则很可能忘记指定基本库。为了正确处理,必须指定代码引用的所有库,包括Java运行时库。要指定库,请使用-libraryjars
选项
例如,如果ProGuard
抱怨找不到javax.crypto
类,您可能仍然需要在更常见的rt.jar旁边指定jce.jar。
如果您丢失了一个库,并且完全确定它没有被使用,您可以使用-ignorewarnings
选项,甚至是-dontwarn选项来试试运气。只有当你真正知道自己在做什么时,才可以使用这些选项
例如,如果您正在为Android
开发,而ProGuard抱怨它找不到java.awt类
,那么您正在使用的一些库是指java.awt
。这有点可疑,因为Android根本没有这个软件包,但是如果你的应用程序能正常工作,你可以让ProGuard
用“-dontwarn java.awt.*”
在执行部分求值时,我遇到了以下错误:Class=[tdvep/jmNb]方法=[()V]异常=[java.lang.ArrayIndexOutOfBoundsException](-1)-1检查此项。。我建议你在proguard帮助中寻求帮助。。在那里你可能会得到解决方案的细节,让你避免这些在未来。。。希望这有帮助。回到第一步,从代码中重建所有JAR。