我在一个简单的应用程序上测试了ProGuard。它工作得很好。但是,当我试图在更复杂的东西上使用它时,它会抛出所有类型的警告和错误,就像一个类依赖于其他类或类尝试使用反射等。
这是配置
-injars Test.jar
-outjars Test2.jar
-libraryjars <java.home>/lib/rt.jar
-libraryjars <java.home>/lib/jce.jar
-printmapping myapplication.map
-keep class com.teradata.** {*;}
-keep class org.quartz.** {*;}
-keep class org.terracotta.** {*;}
-keep class com.sun.** {*;}
-keep class javax.** {*;}
-keep class org.apache.** {*;}
-keep class org.slf4j.** {*;}
-keep class com.** {*;}
-keep public class com.test.Main {
public static void main(java.lang.String[]);
}
有没有简单的方法让它发挥作用。如果某些内容应该在-keep
中,是否可以自动执行此操作?尽可能多地处理,剩下的就剩下了。
我也试过gui版。但我无法弄清楚如何-keep
罐子。
即使没有详细的关键字,它也太冗长了。我无法找到问题的根源,因为有大量重复的错误消息,如Maybe blah blah
,然后一次又一次地发生同样的事情。
有没有简单的方法可以让它发挥作用?
答案 0 :(得分:1)
如果您不想通过查看警告并对其进行适当修复(或使用-dontwarn
指令忽略无害的指令)而烦恼,您可以使用-ignorewarnings
指令,该指令将指示ProGuard即使有一些警告,也要继续处理你的申请。