Я выбрал ProGuard, и вот параметры, с которыми я его настроил:
Сжатие
Параметры:
Сохранить:
Также сохранить:
- Перечисления
- Драйверы базы данных
- Swing UI L & F
Запутывание
Опции:
- Запутывание (duh!: P)
- Перегрузка агрессивно
- Использование уникальных имен членов класса
- Использовать имена классов в смешанном регистре
- Выровнять иерархию пакетов
- Классы переупаковки
Сохранить имена:
- Имена собственных методов
- . Имена методов класса.
Оптимизация
Параметры:
- Оптимизация
- Агрессивное объединение интерфейсов
Удаление:
Информация
Предварительная проверка и нацеливание:
Согласованность и правильность:
- Обратите внимание на возможные ошибки в конфигурации
- Предупреждать о возможном ошибочном вводе
- Пропустить не-члены класса публичной библиотеки
и когда я беру флягу и ставлю ее как:
, я получаю эту ошибку апплета при запуске:
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
Я надеюсь, что этодостаточно хорошо, чтобы помочь мне решить это.Что я делаю не так?