有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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这些罐子

而且即使没有verbose关键字也太冗长了。我无法找到问题的根源,因为有大量重复的错误消息,比如Maybe blah blah,然后一次又一次地重复同样的事情

有什么简单的方法可以让它工作吗


共 (1) 个答案

  1. # 1 楼答案

    如果您不想看到这些警告并对其进行适当修复(或使用-dontwarn指令忽略无害的警告),可以使用-ignorewarnings指令,该指令将指示ProGuard继续处理您的应用程序,即使还有一些警告