当从命令行运行时,Proguard找不到引用的类

3

我有一个图书馆项目,当作为ADT工具链的一部分在Eclipse中导出时,可以通过Proguard很好地处理。

但现在我想按照这个步骤在此线程中直接手动运行Proguard来处理库jar文件。

所以,在将库jar文件复制到libs/文件夹后,我运行了:

java -jar C:/adt-bundle-windows-x86_64/sdk/tools/proguard/lib/proguard.jar @../bin/proguard.txt  -verbose -injar mylibproj.jar 

而我得到的回报是大约数以亿计(或多或少)的警告消息,就像这样:

Warning: com.unilj.mylib.FancyDialog: can't find referenced class java.lang.String

我为什么收到这个消息(我做错了什么?)如何解决?

谢谢。

1个回答

3

看您运行的命令,似乎缺少重要部分-libraryjars,例如:

-libraryjars c:/adt-bundle-windows-x86_64/sdk/platforms/android-17/android.jar 

如果您使用了其他库,您可能也希望将它们包含在内。要找出您正在使用哪些库,请返回到Eclipse > 项目属性 > Java构建路径 > 库,并检查Android依赖项

另外,不要忘记在您的bin/classes中引用您的*.java文件(尤其是R.java):

-injars ../bin/classes

想了解更多信息,请查看ProGuard手册的故障排除部分


“故障排除部分”的更新链接 - http://proguard.sourceforge.net/index.html#manual/troubleshooting.html - tarkeshwar

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接