2013-08-28 6 views
7

जब मैं अपने एंड्रॉयड आवेदन में ProGuard इस्तेमाल करने की कोशिश बस मेरी project.properties फाइल करने के लिएत्रुटि कोड के साथ एंड्रॉयड Proguard लौटाया निश्चित नहीं कर सकते 1 त्रुटि

proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt 

जोड़ने, APK निर्यात संदेश Proguard Returned with error code 1

के साथ विफल

यह मेरा project.properties फ़ाइल

target=android-18 
android.library.reference.1=../LVL 
proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt 

है यह त्रुटि ढेर है:

Proguard returned with error code 1. See console 
    [2013-08-28 18:27:13 - MyApp] Warning: org.apache.harmony.awt.datatransfer.DataProxy: can't find superclass or interface java.awt.datatransfer.Transferable 
    [2013-08-28 18:27:13 - MyApp] Warning: org.apache.harmony.awt.datatransfer.NativeClipboard: can't find superclass or interface java.awt.datatransfer.Clipboard 
    [2013-08-28 18:27:13 - MyApp] Warning: com.sun.mail.imap.protocol.IMAPSaslAuthenticator: can't find referenced class javax.security.sasl.Sasl 
    [2013-08-28 18:27:13 - MyApp] Warning: com.sun.mail.imap.protocol.IMAPSaslAuthenticator: can't find referenced class javax.security.sasl.Sasl 
    [2013-08-28 18:27:13 - MyApp] Warning: com.sun.mail.imap.protocol.IMAPSaslAuthenticator: can't find referenced class javax.security.sasl.SaslClient 
    [2013-08-28 18:27:13 - MyApp] Warning: com.sun.mail.imap.protocol.IMAPSaslAuthenticator: can't find referenced class javax.security.sasl.SaslClient 
    [2013-08-28 18:27:13 - MyApp] Warning: com.sun.mail.imap.protocol.IMAPSaslAuthenticator: can't find referenced class javax.security.sasl.SaslClient 
    [2013-08-28 18:27:13 - MyApp] Warning: com.sun.mail.imap.protocol.IMAPSaslAuthenticator: can't find referenced class javax.security.sasl.SaslClient 
    [2013-08-28 18:27:13 - MyApp] Warning: com.sun.mail.imap.protocol.IMAPSaslAuthenticator$1: can't find referenced class javax.security.sasl.RealmChoiceCallback 
    [2013-08-28 18:27:13 - MyApp] Warning: javax.activation.CommandInfo: can't find referenced class java.beans.Beans 
    [2013-08-28 18:27:13 - MyApp] Warning: javax.activation.CommandInfo: can't find referenced class java.beans.Beans 
    [2013-08-28 18:27:13 - MyApp] Warning: org.apache.harmony.awt.ContextStorage: can't find referenced class java.awt.Toolkit 
    [2013-08-28 18:27:13 - MyApp] Warning: org.apache.harmony.awt.ContextStorage: can't find referenced class java.awt.GraphicsEnvironment 
    [2013-08-28 18:27:13 - MyApp] Warning: org.apache.harmony.awt.ContextStorage: can't find referenced class java.awt.Toolkit 
    [2013-08-28 18:27:13 - MyApp] Warning: org.apache.harmony.awt.ContextStorage: can't find referenced class java.awt.Toolkit 
    [2013-08-28 18:27:13 - MyApp] Warning: org.apache.harmony.awt.ContextStorage: can't find referenced class java.awt.Toolkit 
    [2013-08-28 18:27:13 - MyApp] Warning: org.apache.harmony.awt.ContextStorage: can't find referenced class java.awt.GraphicsEnvironment 
    [2013-08-28 18:27:13 - MyApp] Warning: org.apache.harmony.awt.ContextStorage: can't find referenced class java.awt.GraphicsEnvironment 
    [2013-08-28 18:27:13 - MyApp] Warning: org.apache.harmony.awt.ContextStorage: can't find referenced class java.awt.GraphicsEnvironment 
    [2013-08-28 18:27:13 - MyApp] Warning: org.apache.harmony.awt.datatransfer.DTK: can't find referenced class java.awt.datatransfer.DataFlavor 
    [2013-08-28 18:27:13 - MyApp] Warning: org.apache.harmony.awt.datatransfer.DTK: can't find referenced class java.awt.datatransfer.DataFlavor 
    [2013-08-28 18:27:13 - MyApp] Warning: org.apache.harmony.awt.datatransfer.DTK: can't find referenced class java.awt.datatransfer.DataFlavor 
    [2013-08-28 18:27:13 - MyApp] Warning: org.apache.harmony.awt.datatransfer.DTK: can't find referenced class java.awt.datatransfer.DataFlavor 
    [2013-08-28 18:27:13 - MyApp] Warning: org.apache.harmony.awt.datatransfer.DTK: can't find referenced class java.awt.datatransfer.SystemFlavorMap 
    [2013-08-28 18:27:13 - MyApp] Warning: org.apache.harmony.awt.datatransfer.DTK: can't find referenced class java.awt.datatransfer.SystemFlavorMap 
    [2013-08-28 18:27:13 - MyApp] Warning: org.apache.harmony.awt.datatransfer.DTK: can't find referenced class java.awt.datatransfer.SystemFlavorMap 
    [2013-08-28 18:27:13 - MyApp] Warning: org.apache.harmony.awt.datatransfer.DTK: can't find referenced class java.awt.datatransfer.SystemFlavorMap 
    [2013-08-28 18:27:13 - MyApp] Warning: org.apache.harmony.awt.datatransfer.DTK: can't find referenced class java.awt.datatransfer.SystemFlavorMap 
    [2013-08-28 18:27:13 - MyApp] Warning: org.apache.harmony.awt.datatransfer.DTK: can't find referenced class java.awt.datatransfer.SystemFlavorMap 
    [2013-08-28 18:27:13 - MyApp] Warning: org.apache.harmony.awt.datatransfer.DTK: can't find referenced class java.awt.datatransfer.SystemFlavorMap 
    [2013-08-28 18:27:13 - MyApp] Warning: org.apache.harmony.awt.datatransfer.DataProvider: can't find referenced class java.awt.datatransfer.DataFlavor 
    [2013-08-28 18:27:13 - MyApp] Warning: org.apache.harmony.awt.datatransfer.DataProvider: can't find referenced class java.awt.datatransfer.DataFlavor 
    [2013-08-28 18:27:13 - MyApp] Warning: org.apache.harmony.awt.datatransfer.DataProvider: can't find referenced class java.awt.datatransfer.DataFlavor 
    [2013-08-28 18:27:13 - MyApp] Warning: org.apache.harmony.awt.datatransfer.DataProvider: can't find referenced class java.awt.datatransfer.DataFlavor 
    [2013-08-28 18:27:13 - MyApp] Warning: org.apache.harmony.awt.datatransfer.DataProxy: can't find referenced class java.awt.datatransfer.Transferable 
    [2013-08-28 18:27:13 - MyApp] Warning: org.apache.harmony.awt.datatransfer.DataProxy: can't find referenced class java.awt.datatransfer.SystemFlavorMap 
    [2013-08-28 18:27:13 - MyApp] Warning: org.apache.harmony.awt.datatransfer.DataProxy: can't find referenced class java.awt.datatransfer.SystemFlavorMap 
    [2013-08-28 18:27:13 - MyApp] Warning: org.apache.harmony.awt.datatransfer.DataProxy: can't find referenced class java.awt.datatransfer.UnsupportedFlavorException 
    [2013-08-28 18:27:13 - MyApp] Warning: org.apache.harmony.awt.datatransfer.DataProxy: can't find referenced class java.awt.datatransfer.DataFlavor 
    [2013-08-28 18:27:13 - MyApp] Warning: org.apache.harmony.awt.datatransfer.DataProxy: can't find referenced class java.awt.datatransfer.DataFlavor 
    [2013-08-28 18:27:13 - MyApp] Warning: org.apache.harmony.awt.datatransfer.DataSnapshot: can't find referenced class java.awt.datatransfer.SystemFlavorMap 
    [2013-08-28 18:27:13 - MyApp] Warning: org.apache.harmony.awt.datatransfer.DataSource: can't find referenced class java.awt.datatransfer.DataFlavor 
    [2013-08-28 18:27:13 - MyApp] Warning: there were 247 unresolved references to classes or interfaces. 
    [2013-08-28 18:27:13 - MyApp]   You may need to specify additional library jars (using '-libraryjars'). 
    [2013-08-28 18:27:13 - MyApp] java.io.IOException: Please correct the above warnings first. 
    [2013-08-28 18:27:13 - MyApp] at proguard.Initializer.execute(Initializer.java:321) 
    [2013-08-28 18:27:13 - MyApp] at proguard.ProGuard.initialize(ProGuard.java:211) 
    [2013-08-28 18:27:13 - MyApp] at proguard.ProGuard.execute(ProGuard.java:86) 
    [2013-08-28 18:27:13 - MyApp] at proguard.ProGuard.main(ProGuard.java:492) 

उत्तर

15

इन पंक्तियों कॉन्फ़िग फ़ाइल ProGuard में जोड़े (ProGuard-android.txt)

012,
-keep class android.support.v4.** { *; } 
    -dontwarn android.support.v4.** 
    -dontwarn javax.activation.** 
    -dontwarn javax.security.** 
    -dontwarn java.awt.** 
    -libraryjars <java.home>/lib/rt.jar 
    -keep class javax.** {*;} 
    -keep class com.sun.** {*;} 
    -keep class myjava.** {*;} 
    -keep class org.apache.harmony.** {*;} 
    -keep public class Mail {*;}   
    -dontshrink 

देखें Proguard Troubleshooting

नोट अगर आप का उपयोग करें कि

proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt 

आपका कॉन्फ़िग फ़ाइल अपनी परियोजना जड़ लेकिन Android SDK फ़ोल्डर में सामान्य ProGuard कॉन्फ़िग फ़ाइल में proguard-android.txt नहीं है। आप अपने प्रोजेक्ट जड़ में proguard-android.txt उपयोग करना चाहते हैं आप project.properties फ़ाइल में

proguard.config=proguard-project.txt 

उपयोग करना होगा।

+0

सब कुछ निर्यात करें लेकिन लगता है कि ऐप को संपर्क फ़ॉर्म में कुछ समस्या है। – AndreaF

+1

मैंने अभी जवाब का अद्यतन किया है। – Silverstorm

+0

_ त्रुटि: अज्ञात विकल्प '040 9' तर्क संख्या 1_ में –

0

अद्यतन इस लिंक

http://sourceforge.net/projects/proguard/files/proguard/4.10/

फ़ाइल अनज़िप और (उपकरण निर्देशिका में progaud फ़ोल्डर) अपने Android SDK निर्देशिका में सामग्री

की जगह से नवीनतम संस्करण 4.10 के लिए अपने progaurd [एंड्रॉइड एसडीके के लिए पथ] \ एंड्रॉइड \ android-sdk \ tools \ proguard

फिर पुन: प्रयास करें, आपको ग्रहण को पुनरारंभ करने की आवश्यकता हो सकती है।

+1

पहले से ही मैं एक ही त्रुटि – AndreaF

+0

खाली config साथ शुरू अपनी परियोजना निर्देशिका के लिए अपनी खुद की ProGuard कॉन्फ़िग फ़ाइल को जोड़ने का प्रयास प्राप्त करने की कोशिश की फ़ाइल को तब पैकेज निर्यात करें और देखें कि त्रुटि फिर से होती है –

+0

प्रोजेगार्ड-project.txt खाली है, क्या मुझे इस फ़ाइल के अंदर कुछ लिखना चाहिए? मैं अपने प्रोजेक्ट – AndreaF

1
अपने त्रुटि स्टैक में

, नीचे, पर नहीं पर ध्यान देना

समीक्षा एंड्रॉयड जार के शामिल किए जाने के लिए अपने ProGuard config जो 'javax की तरह सभी संदर्भित लापता पैकेज शामिल हैं' अतिरिक्त जार निर्दिष्ट ... ' 'और' AWT 'enter code here

कोशिश अपने proguard.cfg के लिए निम्न की तरह कुछ जोड़ने ...

-libraryjars /usr/local/src/android-sdk-linux/platforms/android-18/android.jar 
-libraryjars <java.home>/lib/rt.jar 
+0

पर कर सकते हैं क्या मुझे इन प्रोजेक्ट को 'proguard-project.txt' में जोड़ना चाहिए? – AndreaF

+0

मैंने इन लाइनों को जोड़ने की कोशिश की है (विंडोज़ पर मेरे एंड्रॉइड एसडीके से मेल खाने के लिए एंड्रॉइड एसडीके पथ को संपादित करना) proguard-project.txt पर अभी भी एक ही समस्या – AndreaF

+1

नोट: आपके प्रोजेक्ट में, प्रोजेवार्ड-प्रोजेक्ट.txt हर बार एंड्रॉइड अपडेट मिटा देता है प्रोजेक्ट 'चलाया गया है .. अपनी परियोजना कॉन्फ़िगरेशन को स्टोर करने के लिए एक अच्छी जगह पर ध्यान दें। परियोजना स्तर पर diff कॉन्फ़िगरेशन निर्दिष्ट करना बेहतर है। 'my-extra-proguard.txt' की तरह। फिर निर्दिष्ट करें कि 'local.properties' में प्रविष्टि में "proguard.config = my-extra-proguard.txt"। आपको अपने एसडीके में प्रोजेवार्ड कॉन्फ़िगरेशन के लिए प्रोजेक्ट के लिए जो कुछ चाहिए, उसे जोड़ना होगा। –

3

सीएफआर। ProGuard मैनुअल> समस्या निवारण>Warning: can't find referenced class

एंड्रॉइड एसडीके में एडब्ल्यूटी कक्षाएं मौजूद नहीं हैं। ProGuard कुछ कक्षाओं को देखता है जो उन पर निर्भर करता है और उनके बारे में चेतावनी देता है, जैसे एक कंपाइलर करेगा। के बाद से कक्षाएं शायद वास्तव में इस्तेमाल कभी नहीं कर रहे हैं, तो आप इसे अनदेखा करने के लिए ProGuard बता सकते हैं:

-dontwarn java.awt.** 

ProGuard तो कोड प्रसंस्करण आगे बढ़ेंगे। आपको किसी भी पुस्तकालय विकल्प नहीं जोड़ना चाहिए।

0

मैं सफलतापूर्वक निम्न प्रक्रिया में ग्रहण में अमान्य पैकेज त्रुटियों अनदेखा किया है:

सही परियोजना> गुण> Android लिंट संदर्भ> खोज लाइन प्रकार में "अवैध" पर क्लिक करें> और आईडी निशान = अमान्यपैक> और निचले दाएं कोने पर गंभीरता को अनदेखा करने के लिए बदलें।

enter image description here

ध्यान दें, अपने एक गंदा वैकल्पिक हल (मैं नहीं कर सके ProGuard तो उपेक्षा ...)

अच्छी किस्मत!

0

मुझे ग्रहण में एक ही समस्या थी। मैं progaurd-project.txt में

-ignorewarnings

जोड़कर इसे हल कर सकता है

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