2016-07-25 4 views
-1

Я протестировал ProGuard на простом приложении. Он работает очень хорошо. Однако, когда я пытался использовать его на что-то более сложном, оно thows всех типов предупреждений и ошибок, как один класс зависит от других или класса пытается использовать отражение и т.д.Как заставить 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

Если вы не хотите беспокоить, глядя на предупреждения и исправить их соответствующим образом (или использовать -dontwarn директивы игнорировать безвредные), вы можете использовать -ignorewarnings директиву, которая будет инструктировать ProGuard продолжать обработку приложения даже если есть какие-то предупреждения.

Смежные вопросы