2014-06-25 10 views
5

मैं ग्रहण से एक हस्ताक्षरित एपीके प्राप्त करने की कोशिश कर रहा हूं। मेरे पास एक डिबग करने योग्य एपीके संस्करण है जो ठीक काम करता है। अब रिलीज के लिए जब मैंने एक्लिप्स एडीटी के साथ संकलन और हस्ताक्षर करने की कोशिश की, तो मुझे कई चेतावनियां मिलती हैं, जिनमें से अधिकांश can't find superclass or interface some.package.Class है। इसलिए, मैंने this, this और दुर्भाग्य से कई अन्य लोगों को संदर्भित किया, मैं कहीं भी नहीं पहुंच सका!एंड्रॉइड एपीके डीबग मोड ठीक काम करता है लेकिन रिलीज मोड बहुत अधिक चेतावनियां देता है

मैं भी Note: there were 314 duplicate class definitions. चेतावनी मिलती है

मेरे progaurd-project.txt अछूता पहले था। इसलिए, मैंने /EcliseProject/libs/ फ़ोल्डर में मौजूद प्रत्येक जार के लिए -libraryjars /libs/lib-name जोड़ा। तो मैं निम्नलिखित के साथ आया था: इस के अंत तक

-libraryjars /libs/android-support-v4.jar -libraryjars /libs/apache-mime4j-core-0.7.2.jar -libraryjars /libs/gcm.jar -libraryjars /libs/httpclient-4.3.3.jar -libraryjars /libs/httpcore-4.3.2.jar -libraryjars /libs/httpmime-4.3.3.jar -libraryjars /libs/library.jar -libraryjars /libs/nineoldandroids-2.4.0.jar

मैं कुछ 1800 + चेतावनी उनमें से ज्यादातर मिला जैसा कि ऊपर उल्लेख सुपर क्लास या इंटरफेस नहीं मिल जा रहा है। इसलिए, मुझे उन जारों में मिला है जिनमें वे कक्षाएं हैं और उन्हें/lib/फ़ोल्डर में भी डाल दिया गया है और प्रविष्टियां rt.jar इत्यादि शामिल हैं। फिर मुझे उनमें से कुछ चेतावनियां मिलीं library class org.xmlpull.v1.XmlPullParser depends on program class java.lang.String

मैं -dontskipnonpubliclibraryclasses जोड़ने की कोशिश की, कुछ -dontwarn जोड़ने, आदि कुछ भी नहीं अब तक काम किया।

किसी बिंदु पर मैंने पर्याप्त -dontwarn रखा ताकि एपीके बनाया गया हो लेकिन यह सिर्फ लॉगिन स्क्रीन (पहली गतिविधि) लाया गया और एक बटन पर क्लिक करने के बाद वहां फंस गया।

मुझे लगता है कि मुझे कुछ बुनियादी लगता है। इन सभी दिनों में मैं डीबग मोड एपीके के साथ परीक्षण कर रहा था जो सामान्य रूप से काम करता है। यह परेशानी क्यों है? कृपया सहायता कीजिए!!

उत्तर

1

स्टैक ओवरफ्लो के भीतर बहुत सारे गुगलिंग और खोज के बाद ठीक है, मैंने समाधान प्राप्त करने का प्रबंधन किया है।

-libraryjars /libs/android-support-v4.jar 
-libraryjars /libs/apache-mime4j-core-0.7.2.jar 
-libraryjars /libs/gcm.jar 
-libraryjars /libs/httpclient-4.3.3.jar 
-libraryjars /libs/httpcore-4.3.2.jar 
-libraryjars /libs/httpmime-4.3.3.jar 
-libraryjars /libs/library.jar 
-libraryjars /libs/nineoldandroids-2.4.0.jar 

-keepnames class org.apache.** {*;} 
-keep public class org.apache.** {*;} 
-dontwarn org.apache.commons.** 
-dontwarn org.apache.http.annotation.ThreadSafe 
-dontwarn org.apache.http.annotation.Immutable 
-dontwarn org.apache.http.annotation.NotThreadSafe 
-dontwarn org.apache.http.impl.auth.GGSSchemeBase 
-dontwarn org.apache.http.impl.auth.KerberosScheme 
-dontwarn org.apache.http.impl.auth.NegotiateScheme 
-dontwarn org.apache.http.impl.auth.KerberosScheme 
-dontwarn org.apache.http.impl.auth.SPNegoScheme 
-dontwarn se.emilsjolander.stickylistheaders.StickyListHeadersListView 
-dontwarn android.net.http.AndroidHttpClient 

आशा है कि यह दूसरों में मदद करता है, धन्यवाद: निम्नलिखित मेरी proguard-project.txt फ़ाइल है!

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