Tôi đang cố gắng để xáo trộn các ứng dụng Android của tôi sử dụng proguard
và ant
(eclipse
+ proguard
không bao giờ làm việc, luôn luôn thất bại với error 1
). Nhưng tôi nhận được class file ... unexpectedly contains class ...
cảnh báo tất cả các aver nơi và xây dựng không thành công. Tôi cũng đã thử với tùy chọn -ignorewarnings
trong proguard
. Xây dựng thành công nhưng tôi nhận được một gói không sử dụng được.obfuscating ActionBarSherlock với Proguard
Dưới đây là đầu ra ant:
-post-compile:
optimize:
[jar] Building jar: /home/binoy/git/Vibhinna/proguard/unoptimized.jar
[java] ProGuard, version 4.8
[java] Reading input...
[java] Warning: class [classes/com/actionbarsherlock/R$array.class] unexpectedly contains class [com.actionbarsherlock.R$array]
[java] Warning: class [classes/com/actionbarsherlock/R$attr.class] unexpectedly contains class [com.actionbarsherlock.R$attr]
[java] Warning: class [classes/com/actionbarsherlock/R$bool.class] unexpectedly contains class [com.actionbarsherlock.R$bool]
[java] Warning: class [classes/com/actionbarsherlock/R$color.class] unexpectedly contains class [com.actionbarsherlock.R$color]
....
[java] Warning: class [classes/com/actionbarsherlock/R$xml.class] unexpectedly contains class [com.actionbarsherlock.R$xml]
[java] Warning: class [classes/com/actionbarsherlock/R.class] unexpectedly contains class [com.actionbarsherlock.R].
[java] Warning: class [classes/com/vibhinna/binoy/DetailsDialogFragment$1.class] unexpectedly contains class [com.vibhinna.binoy.DetailsDialogFragment$1]
[java] Warning: class [classes/com/vibhinna/binoy/DetailsDialogFragment.class] unexpectedly contains class [com.vibhinna.binoy.DetailsDialogFragment]
[java] Warning: class [classes/com/vibhinna/binoy/HoloAlertDialogBuilder.class] unexpectedly contains class [com.vibhinna.binoy.HoloAlertDialogBuilder]
[java] Warning: class [classes/com/vibhinna/binoy/MiscMethods.class] unexpectedly contains class [com.vibhinna.binoy.MiscMethods]
[java] Warning: class [classes/com/vibhinna/binoy/NewDialogFragment$1$1.class] unexpectedly contains class [com.vibhinna.binoy.NewDialogFragment$1$1]
[java] Warning: class [classes/com/vibhinna/binoy/NewDialogFragment$1$2.class] unexpectedly contains class [com.vibhinna.binoy.NewDialogFragment$1$2]
[java] Warning: class [classes/com/vibhinna/binoy/NewDialogFragment$1.class] unexpectedly contains class [com.vibhinna.binoy.NewDialogFragment$1]
[java] Warning: class [classes/com/vibhinna/binoy/NewDialogFragment$10.class] unexpectedly contains class [com.vibhinna.binoy.NewDialogFragment$10]
[java] Warning: class [classes/com/vibhinna/binoy/NewDialogFragment$11.class] unexpectedly contains class [com.vibhinna.binoy.NewDialogFragment$11]
[java] Warning: class [classes/com/vibhinna/binoy/NewDialogFragment$2.class] unexpectedly contains class [com.vibhinna.binoy.NewDialogFragment$2]
[java] Warning: class [classes/com/vibhinna/binoy/NewDialogFragment$3.class] unexpectedly contains class [com.vibhinna.binoy.NewDialogFragment$3]
[java] Warning: class [classes/com/vibhinna/binoy/NewDialogFragment$4.class] unexpectedly contains class [com.vibhinna.binoy.NewDialogFragment$4]
[java] Warning: class [classes/com/vibhinna/binoy/NewDialogFragment$5.class] unexpectedly contains class [com.vibhinna.binoy.NewDialogFragment$5]
[java] Warning: class [classes/com/vibhinna/binoy/NewDialogFragment$6.class] unexpectedly contains class [com.vibhinna.binoy.NewDialogFragment$6]
[java] Warning: class [classes/com/vibhinna/binoy/NewDialogFragment$7.class] unexpectedly contains class [com.vibhinna.binoy.NewDialogFragment$7]
[java] Warning: class [classes/com/vibhinna/binoy/NewDialogFragment$8.class] unexpectedly contains class [com.vibhinna.binoy.NewDialogFragment$8]
....
[java] Warning: class [classes/com/vibhinna/binoy/Preferences.class] unexpectedly contains class [com.vibhinna.binoy.Preferences]
[java] Warning: class [classes/com/vibhinna/binoy/ProcessManager.class] unexpectedly contains class [com.vibhinna.binoy.ProcessManager]
[java] Warning: there were 89 classes in incorrectly named files.
[java] You should make sure all file names correspond to their class names.
[java] The directory hierarchies must correspond to the package hierarchies.
[java] If you don't mind the mentioned classes not being written out,
[java] you could try your luck using the '-ignorewarnings' option.
[java] java.io.IOException: Please correct the above warnings first.
[java] at proguard.InputReader.execute(InputReader.java:133)
[java] at proguard.ProGuard.readInput(ProGuard.java:197)
[java] at proguard.ProGuard.execute(ProGuard.java:79)
[java] at proguard.ProGuard.main(ProGuard.java:493)
Làm thế nào để sửa lỗi này?
http://actionbarsherlock.com/faq.html (Xem phần về cách sử dụng bảo vệ) –