2013-12-12 3 views
16

के अंदर विफल रहता है सालों से, मैंने ग्रहण के लिए एंटी एकीकरण का उपयोग अपनी एंड्रॉइड परियोजनाओं को outlined by Google on this documentation page के रूप में बनाने के लिए किया है। यह रिलीज बिल्ड बनाने का मेरा पसंदीदा तरीका है, क्योंकि मैं एंट बिल्ड शुरू करने के लिए एक्लिप्स में "बाहरी उपकरण चलाएं" को आसानी से हिट कर सकता हूं, और यह पृष्ठभूमि में चलता है।एंट बिल्ड Eclipse

हाल ही में जब से (मैं एडीटी 22.0 या 22.1 का मानना ​​है), मैं निम्नलिखित विफलता हो रही किया गया है:

[echo] Handling Resources... 
[aapt] Generating resource IDs... 
[aapt] invalid resource directory name: C:\path\to\project\bin\res/crunch 

BUILD विफल
C: \ एंड्रॉयड \ Android-SDK \ उपकरण \ चींटी \ build.xml: 653: यह त्रुटि हुई है, जबकि इस लाइन पर:
C: \ एंड्रॉयड \ Android-SDK \ उपकरण \ चींटी \ build.xml: 698: अशक्त दिखाई: 1

मैं नहीं कर रहा हूँ यकीन है कि थाई का कारण क्या है एस है, क्योंकि एएपीटी खुद को "क्रंच" निर्देशिका उत्पन्न करता है। मैंने अपनी परियोजना की सफाई करने और ग्रहण में स्वत: भवन को अक्षम करने की कोशिश की है लेकिन इसका कोई फायदा नहीं हुआ है।

मैंने एक्लेप्से के बाहर ant release निष्पादित करने का भी प्रयास किया, लेकिन यह वही त्रुटि देता है। निष्पादन ant clean release या तो काम नहीं करता है, क्योंकि यह अभी भी ग्रहण द्वारा उपयोग किए जाने वाले जार को हटाने का प्रयास करता है। इसलिए, एकमात्र समाधान है कि मैं बिल्कुल भी है काम करने के लिए मिल गया है:

  1. से बाहर निकलें प्रक्रिया को समाप्त करने के लिए
  2. निष्पादित ant clean release

इसका कारण यह है के रूप में कष्टदायी है ग्रहण

  • प्रतीक्षा हम पता है, ग्रहण फिर से शुरू करना एक शाही दर्द है। इसके अलावा, सभी प्रभावित परियोजनाओं को साफ करने की आवश्यकता है जो पूरी प्रक्रिया को आधे घंटे तक ले जाती है। मैंने issue #60496 on b.android.com खोला है, लेकिन कोई आधिकारिक प्रतिक्रिया नहीं सुना है।

    क्या बुलेट को काटने और एंड्रॉइड स्टूडियो पर स्विच करने से कोई समाधान है?

  • +0

    मैं इसे भी देख रहा हूं लेकिन केवल उन परियोजनाओं के लिए जो लाइब्रेरी प्रोजेक्ट का संदर्भ लेते हैं। आपके द्वारा उठाए गए मुद्दे से, यह आपके लिए समान प्रतीत होता है, हालांकि आप इसका उल्लेख यहां नहीं करते हैं। क्या आप पुष्टि कर सकते हैं कि यह मामला है? – NickT

    +0

    @ निकट हां, प्रश्न में परियोजना कई पुस्तकालय परियोजनाओं का संदर्भ देता है। –

    +1

    मैं उम्र के लिए चींटी बिल्ड का उपयोग कर रहा हूं लेकिन मुझे इस बग के चारों ओर अपना सिर नहीं मिल रहा है, कोई भी कामकाज मेरे लिए इसे ठीक नहीं करता है, इसलिए मैं इस पर एक वरदान शुरू कर रहा हूं। यदि ग्रहण बंद करना आपके लिए इसे ठीक करता है, तो कुछ परियोजनाओं को बंद करने से आप कुछ समय बचा सकते हैं? सिर्फ एक विचार। – NickT

    उत्तर

    0

    मुझे लिनक्स मशीन पर एक ही त्रुटि थी। यह पता चला है कि एपेट 32 बिट इम्यूलेशन पुस्तकालयों का उपयोग करता है, और यदि वे किसी कारण से विफल होते हैं तो बिल्ड प्रक्रिया build.xml में इस स्थान पर रहस्यमय तरीके से विफल हो सकती है।

    मेरे मामले में विफलता का कारण CircleCI को 32 बिट इम्यूलेशन एपीआई में newly found vulnerability को ब्लैकलिस्ट करने के लिए अपने कर्नेल को पैच करना पड़ा। फिर वे कुछ दिनों के भीतर भेद्यता को खत्म करने के लिए अपने कर्नेल को पैच करने में सक्षम थे।

    0

    ओएसएक्स पर मैंने अभी परियोजना को साफ किया और पुनर्निर्मित किया और यह मेरे लिए काम किया।

    परियोजना> साफ (अपने प्रोजेक्ट के नाम लेने)

    +1

    यदि मैं ग्रहण में प्रोजेक्ट को साफ़ करता हूं और 'चींटी रिलीज' निष्पादित करता हूं तो मुझे ओपी में वर्णित समस्या मिलती है। जैसा कि कहीं और बताया गया है, 'चींटी क्लीन रिलीज' करना विंडोज पर अपर्याप्त है, और स्वचालित बिल्डिंग अक्षम होने पर केवल लिनक्स पर ही काम करता है। –

    2
    इसके अलावा https://code.google.com/p/android/issues/detail?id=60496 से

    , मैं सिर्फ नष्ट कर दिया जनरल/* और बिन परियोजना में/* और यह पुस्तकालय संदर्भित है। इसने काम कर दिया।

    0

    यदि आप केवल 'चींटी रिलीज' के बजाय कमांड लाइन उपयोग कमांड 'चींटी क्लीन रिलीज' से चींटी चला रहे हैं। आप ग्रहण अक्षम उपयोग कर रहे हैं autobuild संकट फ़ोल्डर को हटाने और फिर चींटी अधिक जानकारी पर अमल करते हैं: http://pissedoff-techie.blogspot.in/2014/07/android-build-fails-with-ant-on-eclipse.html

    0

    मैं समाधान की कोशिश की यहाँ जैसे: ग्रहण को पुन: प्रारंभ, परियोजना स्वच्छ और पुनर्निर्माण, संकट फ़ोल्डर को दूर करने और फिर से आदि चींटी चलाने एंटी स्क्रिप्ट (ग्रहण से) चलाने के बाद ऐसा लगता है कि एडीटी हस्तक्षेप करता है और बार-बार क्रंच फ़ोल्डर उत्पन्न करता है। मेरे लिए कामकाज केवल कमांड लाइन से ant चलाने के लिए था। Project मेनू से

    1. अक्षम Build Automatically विकल्प: शुरू में मैं संकट फ़ोल्डर को हटाने के लिए निम्न चरणों को निष्पादित करने के लिए किया था।
    2. मैन्युअल रूप से cruch फ़ोल्डर को हटा दें।
    3. कमांड लाइन से ant clean release चलाएं।
    +0

    इस समाधान का पहले से ही प्रश्न और शीर्ष उत्तर दोनों में उल्लेख किया गया है। –

    +0

    इस प्रश्न में उल्लिखित कहां है? सवाल कहता है कि चींटी साफ रिहाई काम नहीं करती है। यह सब कुछ छोड़ देता है। मेरा मुद्दा Autorebuild को अक्षम रखना था और कमांड लाइन से चींटी का उपयोग करना था। यह है कि मैंने कम से कम – eldjon

    +0

    कैसे संबंधित समस्या का उल्लेख [टिप्पणी # 2] (https://code.google.com/p/android/issues/detail?id=60496#c2) में किया है। मैंने मूल रूप से इस सवाल को पोस्ट किया था क्योंकि फाइल हैंडल के कारण विंडोज के लिए विशेष समाधान पर्याप्त नहीं है। मैंने तब से लिनक्स पर स्विच किया है, इसलिए मुझे नहीं पता कि फ़ाइल हैंडल के साथ समस्या का समाधान हो गया है या नहीं। –

    0

    हाय इस लाइन को आजमाएं और इसे फिर से बनाएं।

    rm -fR $(find . -type d -name crunch|xargs) 
    
    0

    मुझे भी एक ही तरह का मुद्दा था। मैंने लाइब्रेरी के मैन्युअल रूप से 'बिन' और 'जेन' फ़ोल्डरों को हटा दिया और कोशिश की। यह मेरे लिए काम किया।

    0

    custom_rules.xml

    <delete dir="../YourLibraryName/bin/res/crunch"/> 
    

    के शीर्ष में इस लाइन जोड़ते हैं, तो custom_rules.xml की जरूरत नहीं है एक बना सकते हैं और फाइल में इस डाल दिया। अपने प्रोजेक्ट डीआईआर के भीतर custom_rules.xml रखें।

    <?xml version="1.0" encoding="UTF-8"?> 
    
    <project name="imported" > 
    
    <delete dir="../YourLibraryName/bin/res/crunch"/> 
    
    </project> 
    

    अद्यतन

    यह पुस्तकालय परियोजना build.xml में निम्न पंक्ति जोड़कर किया जा सकता है।

    <delete dir="${out.absolute.dir}"/res/crunch />