Использование ProGuard для обфускации кода

Я выбрал ProGuard, и вот параметры, с которыми я его настроил:

Сжатие

Параметры:

  • Сжать

Сохранить:

  • Приложения
  • Аплеты

] Также сохраните:

  • Перечисления
  • Драйверы базы данных
  • Swing UI L&F

Обфускация

Параметры:

  • Обфускация (да!: P)
  • Активно перегрузка
  • Использовать уникальный член класса имена
  • Использовать имена классов со смешанным регистром
  • Сглаживать иерархию пакетов
  • Переупаковывать классы

Сохранять имена:

  • имена собственных методов
  • .class имена методов

Оптимизация

Параметры:

  • Оптимизировать
  • Активно объединить интерфейсы

Удалить:

  • [Все флажки отмечены]

Информация

Предварительная проверка и таргетинг:

  • Предварительная проверка

Согласованность и правильность:

  • Обратите внимание на возможные ошибки в конфигурации
  • Предупредить о возможном ошибочном вводе
  • Пропустите члены класса непубличной библиотеки

, и когда я беру банку и помещаю ее как:

Я получаю эту ошибку апплета при запуске:

    java.lang.RuntimeException: java.lang.NoClassDefFoundError: b
        at sun.plugin2.applet.Plugin2Manager.createApplet(Unknown Source)
        at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)
        at java.lang.Thread.run(Unknown Source)
    Caused by: java.lang.NoClassDefFoundError: b
        at java.lang.Class.getDeclaredConstructors0(Native Method)
        at java.lang.Class.privateGetDeclaredConstructors(Unknown Source)
        at java.lang.Class.getConstructor0(Unknown Source)
        at java.lang.Class.newInstance0(Unknown Source)
        at java.lang.Class.newInstance(Unknown Source)
        at sun.plugin2.applet.Plugin2Manager$12.run(Unknown Source)
        at java.awt.event.InvocationEvent.dispatch(Unknown Source)
        at java.awt.EventQueue.dispatchEvent(Unknown Source)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
        at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
        at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
        at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
        at java.awt.EventDispatchThread.run(Unknown Source)
    Caused by: java.lang.ClassNotFoundException: b
        at sun.plugin2.applet.Applet2ClassLoader.findClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        ... 14 more
    Caused by: java.io.IOException: open HTTP connection failed:http://mystikrpg.com/b.class
        at sun.plugin2.applet.Applet2ClassLoader.getBytes(Unknown Source)
        at sun.plugin2.applet.Applet2ClassLoader.access$000(Unknown Source)
        at sun.plugin2.applet.Applet2ClassLoader$1.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        ... 17 more
    Exception: java.lang.RuntimeException: java.lang.NoClassDefFoundError: b

Вот что находится ВНУТРИ файла jar ДО запутывания clientOffline .jar :

line_tile/
META-INF/

и вот что представляет собой этот jar-файл ПОСЛЕ обфускации newOne.jar :

line_tile/
META-INF/
weapon/
me.gif
a.class
b.class

Я надеюсь, что этого достаточно, чтобы помочь мне решить эту проблему. Что я делаю не так?

1
задан xav 22 July 2014 в 21:50
поделиться