我選擇ProGuard,並將這裏的選項我配置的:使用ProGuard混淆代碼
收縮
選項:
- 收縮
保持:
- 應用
- 小程序
同時請:
- 枚舉
- 數據庫驅動程序
- 的Swing UI l文件&˚F
混淆
選項:
- 模糊處理(咄! :P)
- 超載積極
- 使用唯一的類成員名稱
- 使用混合casee類名
- 拼合包層次
- 重新包裝類
保持名稱:
- 原生方法名稱
- 。類方法的名字
優化
選項:
- 優化
- 合併接口積極
刪除:
- [所有箱子檢查]
信息
Preverifiaction和定位:
- 預驗證
一致性和正確性:
- 注意在配置造成的潛在錯誤
- 發出警告可能errornous輸入
- 跳過非公共圖書館類成員
,當我把罐子並把它作爲:
我得到這個小程序時發佈的錯誤:
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
BEFORE:
line_tile/
META-INF/
,這裏是該JAR文件是什麼混淆到newOne.jar
AFTER:
line_tile/
META-INF/
weapon/
me.gif
a.class
b.class
希望這足以幫助我解決這個問題。我究竟做錯了什麼?
呃,我有保留名稱選項檢查。但它會是'java -jar proguard.jar @ myconfig.pro -verbose -keepnames'吧? – nn2 2010-09-22 14:50:09
「-keepnames class_specification」是在這種情況下類規範可以是「class tileOffline」的正確格式 – rics 2010-09-23 07:05:37