如何以简单的方式使ProGuard工作?

时间:2016-07-25 04:37:13

标签: java proguard

我在一个简单的应用程序上测试了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,然后一次又一次地发生同样的事情。

有没有简单的方法可以让它发挥作用?

1 个答案:

答案 0 :(得分:1)

如果您不想通过查看警告并对其进行适当修复(或使用-dontwarn指令忽略无害的指令)而烦恼,您可以使用-ignorewarnings指令,该指令将指示ProGuard即使有一些警告,也要继续处理你的申请。