2012-06-22 15 views
6

साथ मैं proguard और ant का उपयोग कर मेरी Android एप्लिकेशन अंधेरा करना कोशिश कर रहा हूँ (eclipse + proguard कभी नहीं काम करता है, हमेशा error 1 साथ विफल रहता है)। लेकिन मुझे class file ... unexpectedly contains class ... सभी जगहों पर चेतावनी मिल रही है और बिल्ड विफल हो गया है। मैंने विकल्प proguard में भी कोशिश की। निर्माण बढ़ता है लेकिन मुझे एक अनुपयोगी पैकेज मिलता है।मुश्किल होता ActionBarSherlock Proguard

-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) 

मैं इसे ठीक कैसे करूँ:

यहाँ चींटी उत्पादन है?

+0

http://actionbarsherlock.com/faq.html (प्रोगार्ड का उपयोग करने के बारे में अनुभाग देखें) –

उत्तर

28

सुनिश्चित करें कि आपके ProGuard कॉन्फ़िग फ़ाइल ActionBarSherlock के लिए recommended exclusions है बनाओ:

-keep class android.support.v4.app.** { *; } 
-keep interface android.support.v4.app.** { *; } 
-keep class com.actionbarsherlock.** { *; } 
-keep interface com.actionbarsherlock.** { *; } 
-keepattributes *Annotation* 

भी सुझाव के रूप में here

-keepclassmembers class **.R$* { 
    public static <fields>; 
} 

जोड़ने का प्रयास करें।

+0

अभी भी कोई बदलाव नहीं है, अभी भी गलत नाम वाली फाइलों में 89 कक्षाएं हैं। –

+0

'-keepclassmembers क्लास ** को जोड़ने का भी प्रयास करें। आर $ * { सार्वजनिक स्थिर ; } ' – Jeshurun

+0

http://pastebin.com/3sAhwrQA proguard.cfg। 89 अभी भी –

3

सीएफआर। ProGuard मैनुअल> समस्या निवारण>Warning: class file ... unexpectedly contains class ...

आप अपने इनपुट वर्ग रास्ते में उचित आधार निर्देशिका तैयार करना चाहिए: "-injars ...... /वर्गों"।

संबंधित मुद्दे