त्रुटि: com.android.tools.aapt2.Aapt2Exception: AAPT2 त्रुटि: विवरण के लिए लॉग की जाँच करें


137

यह मेरे ग्रेडल कंसोल का आउटपुट है, मैं अपना प्रोजेक्ट बनाने में असमर्थ हूं

D:\Android Projects\....\app\src\main\res\layout\topic_view_header.xml
Error:error: resource attr/?? (aka -packagename- :attr/??) not found.
Error:error: resource attr/?? (aka -packagename-:attr/??) not found.
Error:error: resource attr/?? (aka -packagename-:attr/??) not found.
Error:resource attr/?? (aka -packagename-:attr/??) not found.
Error:resource attr/?? (aka -packagename-:attr/??) not found.
Error:resource attr/?? (aka -packagename-:attr/??) not found.
Error:failed linking file resources.
Error:java.util.concurrent.ExecutionException: 
java.util.concurrent.ExecutionException: 
com.android.tools.aapt2.Aapt2Exception: AAPT2 error: check logs for details
Error:java.util.concurrent.ExecutionException: 
com.android.tools.aapt2.Aapt2Exception: AAPT2 error: check logs for details
Error:com.android.tools.aapt2.Aapt2Exception: AAPT2 error: check logs for 
details
Error:Execution failed for task ':app:processDebugResources'.
> Failed to execute aapt
Information:BUILD FAILED in 27s
Information:11 errors
Information:0 warnings

एंड्रॉइड स्टूडियो 3.0 आरसी 2



समस्या की पहचान के लिए आप असेंबल्ड कार्य चलाने का प्रयास कर सकते हैं। अधिक जानकारी के लिए यहां पढ़ें stackoverflow.com/a/47941174/1573414
AnteGemini

जवाबों:


112

अपडेट 2 (इस दृष्टिकोण का पालन करें)

अब आपको ऐसा नहीं करना चाहिए। इसके बजाय सभी त्रुटियों को ठीक करें। यह केवल एक समाधान है जब तक इसे हटाया नहीं जाता है। उसके बाद, आपको मैन्युअल रूप से वैसे भी त्रुटियों को ठीक करने की आवश्यकता होगी।

3.3.0-alpha06यह देखने के लिए कि क्या आपकी समस्या ठीक हो गई है, अपने ग्रेडल प्लगइन को अपडेट करने का प्रयास करें ।

अपडेट 1:

AAPT2 और एंड्रॉइड ग्रेडल प्लग इन (yay!) में गैर-एससीआई वर्ण मुद्दे तय किए गए हैं। AAPT2 को अक्षम करने के बजाय अब आप केवल एंड्रॉइड ग्रेडल प्लगइन संस्करण 3.2.0-अल्फा 11 या नए का उपयोग कर सकते हैं और आपको इस त्रुटि का सामना नहीं करना चाहिए।

मूल उत्तर

Aapt2 को डिफ़ॉल्ट रूप से सक्षम किया जाता है, जब आप gradle 3.0 के लिए android प्लगइन का उपयोग करते हैं।

ये इस को

वृद्धिशील संसाधन प्रसंस्करण में सुधार

जैसा कि यहाँ कहा गया है

लेकिन अगर आप इसके साथ समस्याओं का सामना कर रहे हैं, तो आप इसे जोड़कर पिछले संस्करण पर वापस जा सकते हैं gradle.properties

android.enableAapt2=false

लेकिन इसके बाद androidTest चलाने के साथ एक समस्या है। यह त्रुटि वर्ग को नहीं मिला: "com.app.someapp.TheTestClass" खाली परीक्षण सूट। यहाँ देखें stackoverflow.com/questions/47969959/…
K.Os

29
इस कार्रवाई के बाद मुझे Process 'command 'D:\Android\sdk\Sdk\build-tools\27.0.3\aapt.exe'' finished with non-zero exit value 1
AN

1
AAPT2 और एंड्रॉइड ग्रेडल प्लग इन (yay!) में गैर-एससीआई चरित्र मुद्दे तय किए गए हैं। AAPT2 को अक्षम करने के बजाय अब आप केवल एंड्रॉइड ग्रेडल प्लगइन संस्करण 3.2.0-अल्फा 11 या नए का उपयोग कर सकते हैं और आपको इस त्रुटि का सामना नहीं करना चाहिए।
इजाबेला ओर्लोव्स्का

2
यह काम करता है, लेकिन मुझे संदेश मिला:The option 'android.enableAapt2' is deprecated and should not be used anymore. Use 'android.enableAapt2=true' to remove this warning. It will be removed at the end of 2018..
मिकमाइक

1
इस का उपयोग न करें! नई सुविधाओं में से कोई भी अक्षम भविष्य में अभी भी परियोजना को तोड़ देगा। जैसा कि प्रणव कार्णिक ने कहा, इसे हटाने के लिए पदावनत और निर्धारित किया गया है: इसे हटाए जाने तक यह केवल एक समाधान है। उसके बाद, आपको मैन्युअल रूप से वैसे भी त्रुटियों को ठीक करने की आवश्यकता होगी।
झो

102

अपडेट करें

ग्रैडल और एंड्रॉइड-ग्रेड-प्लगइन का एक नया संस्करण उपलब्ध है जो इन मुद्दों को ठीक करता है।

build.gradle (शीर्ष स्तर)

buildscript {
    dependencies {
        classpath 'com.android.tools.build:gradle:3.2.1'
    }
}

gradle-wrapper.properties

distributionUrl=https\://services.gradle.org/distributions/gradle-4.8-all.zip

प्रीवियस ANSWER

यदि आप AAPT2 को अक्षम करते हैं तो आप वास्तविक मुद्दे को छिपा रहे हैं।

कृपया ध्यान रखें कि AAPT1भविष्य में हटाया जा सकता है इसलिए आपको उपयोग करने के लिए मजबूर किया जाता है AAPT2। वास्तव में माइग्रेशन गाइड का पालन करना कठिन नहीं है क्योंकि आप एक ही समय में इस तरह से बहुत बदलाव नहीं देखते हैं, यह भविष्य का प्रमाण है।

एंड्रॉइड मैनिफ़ेस्ट में तत्व पदानुक्रम

AAPT के पिछले संस्करणों में, एंड्रॉइड मेनिफ़ेस्ट में गलत नोड्स में नेस्टेड तत्वों को अनदेखा किया जाता है या चेतावनी में परिणाम होता है। उदाहरण के लिए, निम्नलिखित नमूने पर विचार करें:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
   package="com.example.myname.myapplication">
   <application
       ...
       <activity android:name=".MainActivity">
           <intent-filter>
               <action android:name="android.intent.action.MAIN" />
               <category android:name="android.intent.category.LAUNCHER" />
           </intent-filter>
           <action android:name="android.intent.action.CUSTOM" />
       </activity>
   </application>
</manifest>

इसलिए आपको पहले जांचना होगा कि क्या आपका वास्तव में सही मैनिफेस्ट संरचना का पालन करता है जैसा कि नीचे दिखाया गया है।

प्रकट फ़ाइल संरचना

नीचे दिए गए कोड स्निपेट मेनिफ़ेस्ट फ़ाइल की सामान्य संरचना और प्रत्येक तत्व को दिखाता है जिसमें यह हो सकता है। प्रत्येक तत्व, अपनी सभी विशेषताओं के साथ, पूरी तरह से एक अलग फ़ाइल में प्रलेखित है।

<manifest>

    <uses-permission />
    <permission />
    <permission-tree />
    <permission-group />
    <instrumentation />
    <uses-sdk />
    <uses-configuration />  
    <uses-feature />  
    <supports-screens />  
    <compatible-screens />  
    <supports-gl-texture />  

    <application>

        <activity>
            <intent-filter>
                <action />
                <category />
                <data />
            </intent-filter>
            <meta-data />
        </activity>

        <activity-alias>
            <intent-filter> . . . </intent-filter>
            <meta-data />
        </activity-alias>

        <service>
            <intent-filter> . . . </intent-filter>
            <meta-data/>
        </service>

        <receiver>
            <intent-filter> . . . </intent-filter>
            <meta-data />
        </receiver>

        <provider>
            <grant-uri-permission />
            <meta-data />
            <path-permission />
        </provider>

        <uses-library />

    </application>

</manifest>

7
@Downvoters pls। स्पष्ट रूप से बताएं कि इस उत्तर में क्या गलत है ताकि मैं संबोधित कर सकूं?
एनज़ोकी

हाय एनज़ोकी, मुझे वही aapt2 अपवाद मिला। मैं क्या करता हूँ 21 से 26 तक compileSdkVersion को अपडेट करें, फिर aapt2 क्रैश। क्या आप जानते हैं कि मुझे त्रुटि लॉग कहां मिला है?
निंजा

@ निंजा आप ग्रेडल कंसोल में लॉग की जांच कर सकते हैं, यह लॉगकट के समान है।
एनज़ोकी

3
आपने कोई समाधान नहीं दिया है, बस इसके कारण के पीछे एक सिद्धांत है जो प्रासंगिक हो सकता है या नहीं।
क्रिस - जूनियर

1
@ अहमदुल्लाहसाईत क्या आप ओपी के समान हैं?
एन्ज़ोकी

20

मुझे अपने XML लेआउट में त्रुटि हुई। इसलिए त्रुटियों के लिए अपने xml लेआउट की जाँच करें।


1
क्या इस मामले में त्रुटि थोड़ी अधिक विशिष्ट नहीं होनी चाहिए?
इवोक्स

1
दुर्भाग्य से, नहीं @ ईवोक। यदि आपके XML लेआउट स्ट्रिंग्स में विशेष वर्ण हैं, तो यह सटीक त्रुटि दी गई है।
SH7890

13

एंड्रॉइड स्टूडियो में ग्रेड कंसोल कंसोल टैब देखें (नीचे दाएं कोने में डिफ़ॉल्ट रूप से)। मेरे मामले में इस तरह की त्रुटियां थीं:

C:\Users\Jozef Bar??k\.gradle\caches\transforms-1\files-1.1\appcompat-v7-25.4.0.aar\d68bb9d2059935a7891196f4dfb81686\res\drawable-hdpi-v4\abc_ic_menu_share_mtrl_alpha.png: error: file not found.

Error: java.util.concurrent.ExecutionException: com.android.tools.aapt2.Aapt2Exception: AAPT2 error: check logs for details
:app:mergeDebugResources FAILED

मैंने श्वेत या विशेष वर्णों के बिना किसी अन्य स्थान पर उपयोगकर्ता ग्रेडिंग ग्रेड समस्या को हल किया है:

C:\Android\.gradle

आप इसे ग्रेड सेटिंग सेटिंग्स डायलॉग में " सर्विस डायरेक्टरी पाथ " सेट कर कॉन्फ़िगर कर सकते हैं । मेरे मामले में पिछले स्थान पर पुरानी .gradle निर्देशिका को हटाना और Android स्टूडियो को पुनरारंभ करना आवश्यक था।


मेरे लिए समस्या यह थी कि एक सेवा के रूप में बिल्ड को चलाते समय फ़ाइल नाम बहुत लंबा हो गया था: \ Windows \ System32 \ config \ systemprofile \ -gradle \ .......... सेट GRADLE_USER_HOME = d: \-gradle तय किया गया। मुद्दा (एक प्रणाली पर्यावरण चर के रूप में मेरे मामले में)
मार्क

धन्यवाद, इससे मुझे अपने मुद्दे को सुलझाने में मदद मिली क्योंकि मेरे पास मेरी सेवा निर्देशिका पथ में एक लैटिन "é" था।
जीन-सेबास्टियन

1
एंड्रॉइड स्टूडियो 3.1 के बाद, ग्रैडल कंसोल टैब को हटा दिया गया था। यह अभी बिल्ड टैब में है। 'टॉगल व्यू' बटन (बाईं ओर बिल्ड टैब में, हथौड़ा बटन के नीचे) पर क्लिक करके AAPT2 त्रुटि
georgiecasey

8

मेरी समस्या .9.png के साथ समाप्त होने वाली छवि फ़ाइल नाम के कारण थी । मैंने समाप्त होने वाली .png को बदल दिया और समस्या गायब हो गई। ग्रैडल कंसोल में स्टैक ट्रेस से मुझे संकेत मिला: शीर्ष संदेश "कार्य के लिए निष्पादन विफल रहा: ऐप: mergeDebugResources " और निचला संदेश "com.android.builder। Png .AaptProD $ NotifierProcessOutput.out" था।

मैं उस दिन का इंतजार कर रहा हूं जब ग्रैडल अधिक उपयोगी त्रुटि संदेश देता है ...


8

डेटा बाइंड का उपयोग करने और लेआउट टैग की घोषणा करते समय मुझे बस यह समस्या थी। मुझे पता है कि थोड़ी देर हो गई है, लेकिन इस समस्या का सामना करने वाले किसी भी व्यक्ति के लिए, मैंने इतने सारे प्रयासों के बाद इस मुद्दे को हल करने के लिए क्या किया , अपने रूट लेआउट पर जब आप डेटा बाइंड का उपयोग नहीं कर रहे हैं उदाहरण के लिए कहें

  <android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        tools:context=".MainActivity">     </android.support.constraint.ConstraintLayout>

हटाए

xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        xmlns:tools="http://schemas.android.com/tools"

और इसे अपने लेआउट टैग पर डालें ( यदि आप डेटा बाइंडिंग का उपयोग कर रहे हैं )

<layout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools">

</layout>

और उम्मीद है कि यह काम करेगा। android.enableAapt2=falseतो मैं सब कुछ को हटा दें और यह पता लगाने की है जब मैं बाध्यकारी लेआउट टैग और उपयोग डेटा डाल कारण है कि मैं त्रुटि मिलती है की कोशिश करने के लिए है मेरे लिए काम नहीं किया था इस प्रकार मैं समाधान के साथ आया था। आशा करता हूँ की ये काम करेगा


1
धन्यवाद दोस्त! आपने मेरे लिए एक घंटा बचाया।
सियामक सियासॉफ्ट

1
धन्यवाद दोस्त! आपने मेरे लिए दो घंटे बचाए!
l33t

7

यहाँ एक ही मुद्दा रहा है। जैसा कि @ इज़ाबेला ऑर्लोव्स्का ने बताया, यह समस्या विशेष रूप से पथ में विशेष वर्णों (एंड्रॉइड ग्रैंडल फाइलें, संसाधन आदि) के कारण होती है।

मेरे लिए: říफ़ोल्डर नाम में होने से सभी समस्याएँ हुईं। सुनिश्चित करें कि आपके पास पथों में कोई विशेष वर्ण नहीं है। AAPT2 को अक्षम करना केवल एक अस्थायी "समाधान" है। आपके प्रोजेक्ट पथ में गैर-ASCII वर्ण Android स्टूडियो है


5

मैंने तीन चरणों के साथ ERROR को तय किया
। 1. मैंने SOURCE समस्या के लिए जाँच की
। 2. सही स्ट्रिंग / पाठ प्रदान किया, यह CAUSE
3 था । मैंने इस परियोजना को साफ कर दिया है, आप इसे BUILD के तहत पाएंगे।
मेरी परियोजना


1
धन्यवाद ने मुझे अपनी समस्याओं को पहचानने में मदद की!
Apple Appala

5

चूंकि भविष्य में कुछ बिंदु पर AAPT (1) के लिए समर्थन को पदावनत किया जाएगा, इसलिए आपके द्वारा रिपोर्ट की गई त्रुटि के कारण की पहचान करना अच्छा होगा।
क्या आप \ app \ src \ main \ res \ layout \ topic_view_header.xml फ़ाइल की सामग्री प्रदान कर सकते हैं? प्रश्न चिह्नों से यह संभव है कि आप गैर-एएससीआईआई अक्षरों का उपयोग कर रहे हैं, जो AAPT2 के साथ अभी भी कुछ परेशानी है। अगर यह वास्तव में गैर-एएससीआईआई अक्षर है तो कृपया https://issuetracker.google.com/68262828 पर बग का पालन करें

अद्यतन : समस्या एंड्रॉइड ग्रेडल प्लगइन संस्करण 3.2.0-अल्फा 11 या नए में तय की गई है।


कृपया यहाँ देखें stackoverflow.com/questions/47971366/…
K.Os

@ कोनराड 404, @ izabela अब भी ग्रेडल 4.1 पर एक ही मुद्दा
अजय पंड्या

@AjayPandya कि ग्रेडियन संस्करण है, आपको एंड्रॉइड ग्रेडल प्लगइन संस्करण को अपडेट करने की आवश्यकता है। अपने प्रोजेक्ट की बिल्ड.ग्रेड फ़ाइल में आपको अपडेट करने की आवश्यकता है classpath 'com.android.tools.build:gradle:3.2.0-alpha11'
इजाबेला ओर्लोव्स्का

4

महत्वपूर्ण अद्यतन

अन्य उत्तरों के रूप में इस लाइन को अपने प्रोजेक्ट में न जोड़ें। क्योंकि यह पहले से ही नए ग्रेडल संस्करणों में हल हो गया है ।

आप अपने बिल्ड अपग्रेड संस्करण को प्रोजेक्ट स्तरbuild.gradle में नवीनतम में अपडेट कर सकते हैं ।

buildscript {
    dependencies {
        // choose latest if available
        classpath 'com.android.tools.build:gradle:3.3.0-alpha06'
    }
}

और gradle-wrapper.properties

// choose latest if available
distributionUrl=https\://services.gradle.org/distributions/gradle-4.9-all.zip

बस इतना ही! सिंक और भागो, बिंगो!

और जानकारी Android प्रलेखन

यदि आप जोड़ते हैं, तो आपको एक चेतावनी मिलेगी android.enableAapt2=false

चेतावनी: विकल्प 'android.enableAapt2' पदावनत है और अब इसका उपयोग नहीं किया जाना चाहिए। इस चेतावनी को हटाने के लिए 'android.enableAapt2 = true' का उपयोग करें। इसे 2018 के अंत में हटा दिया जाएगा।


यह अब तक देखा गया सबसे अच्छा उत्तर है, क्योंकि अगर आप aapt2 को निष्क्रिय करने का प्रयास करते हैं, तो यह लिखने के इस समय में एक त्रुटि फेंकता है, मुझे बस इतना करना था कि अद्यतन को वर्गीकृत किया गया था, और अपडेट के बाद, मुझे वास्तविक त्रुटि क्या थी, मुझे बताया गया वास्तव में यह मुझे gradle-wrapper.properties फ़ाइल में gradle-4.8 का उपयोग करने नहीं देता था, मुझे 4.9 का नवीनतम संस्करण, निर्भरता पथ में भी उपयोग करना था, मुझे gradle का उपयोग करना था: 3.3.0-Alpha06
Fortune

मैं मूल पोस्ट को अपडेट करूंगा, इसलिए इसका पालन करना आसान है।
किंग्स्टन फॉर्च्यून

मुझे किस ग्रेड फ़ाइल में android.enableAapt2 = false लिखना है ?
निकी

@nTri केवल उत्तर के समाधान भाग के लिए देखें, आपको जोड़ने की आवश्यकता नहीं है android.enableAapt2=false
खेमराज

ख़ुशी आपकी मदद के लिए @nTri :)
खेमराज

2

मुझे भी इस त्रुटि का सामना करना पड़ा। मेरे लिए, यह 26 से 25 तक के लक्ष्य एसडीके को 25 से बदल रहा था। मैं एप्कोमपेट निर्भर संस्करण को बदलकर समस्या को ठीक करने में सक्षम था।

implementation 'com.android.support:appcompat-v7:26.1.0'

सेवा

implementation 'com.android.support:appcompat-v7:25.4.0'

यह संकलक को उन स्टाइलिंग विशेषताओं तक पहुंचने की अनुमति देगा जो वर्तमान में खोजने में असमर्थ हैं। यह वास्तव में समस्या को ठीक करने के बजाय समस्या को ठीक कर देगा जैसा कि एनज़ोकी ने सुझाया था।


2

मेरे मामले में मैं गलत रंग कोड का उपयोग कर रहा था #CC00000जो कि अमान्य है क्योंकि इसमें 7 अंक हैं लेकिन रंग कोड में 3 या 6 या 8 अंक प्लस होना चाहिए।


2

आगे के विकास में AAPT2 के कारण समस्या को अक्षम करना, मेरे मामले में जब मैंने ऐप आइकन बनाया था तो त्रुटि उत्पन्न हुई थी।

<vector xmlns:android="http://schemas.android.com/apk/res/android"
    android:width="108dp"
    android:height="108dp"
    android:viewportWidth="Infinity"
    android:viewportHeight="Infinity">
<path android:fillColor="#26A69A"
      android:pathData="M0,0h108v108h-108z"/>
<path android:fillColor="#00000000" android:pathData="M79,19L79,89"
      android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>

मैं इस लाइन को हटाकर इसे हल करता हूं

    android:viewportWidth="Infinity"
    android:viewportHeight="Infinity"

2

जैसा कि @Izabela Orlowska ने बताया: मेरे मामले में समस्या कुछ फ़ाइलों के कारण हुई, जो कि gradle cache folder के अंदर नहीं पाई जा सकीं। (विंडोज ओएस)

डिफ़ॉल्ट प्रवण पथ मेरे उपयोगकर्ता फ़ोल्डर के अंदर था। पथ में umlauts और एक स्थान समाहित है। मैंने umlauts या पथ में रिक्त स्थान के बिना कुछ नए बनाए गए फ़ोल्डर के लिए परिवेश GRADLE_HOMEऔर GRADLE_USER_HOMEचर सेट करके फ़ोल्डर को स्थानांतरित कर दिया । इससे मेरे लिए समस्या ठीक हो गई।


2

मैंने यहां और कई अन्य साइटों पर सुझाए गए सभी चीजों की कोशिश की, मुझे अंततः पता चला कि समस्या बिटडेफ़ेंडर अवरुद्ध एएपी के साथ थी ...।

यदि आपके पास Bitdefender स्थापित है, तो आपको व्यक्तिगत रूप से aapt & aapt2 " एप्लिकेशन एक्सेस " को चालू करना होगा।

आशा है कि यह उपयोग का है।


2

यदि आपने एंड्रॉइड स्टूडियो 3.0.1 में एक कोटलिन परियोजना में व्यक्तिगत एंड्रॉइड कार्यान्वयन परीक्षण या परीक्षण कक्षाएं (नाली में रन आइकन पर क्लिक करके) चलाने की कोशिश करने के बाद यह त्रुटि देखी है, तो आप रनिंग के बजाय त्रुटि के आसपास प्राप्त कर सकते हैं पूर्ण परीक्षण पैकेज (परीक्षण पैकेज पर राइट-क्लिक करके और "रन टेस्ट इन ..." चुनें।

एंड्रॉइड स्टूडियो 3.0.1 में एक ज्ञात बग है जो IDE को कोटलिन कार्यान्वयन परीक्षणों को नियमित JUnit परीक्षणों के रूप में चलाने का कारण बनता है, जिससे ओपी की त्रुटि संदेश मेरी मशीन पर दिखाया गया था। बग पर नज़र रखी जाती है https://issuetracker.google.com/issues/71056937 । ऐसा प्रतीत होता है कि एंड्रॉइड स्टूडियो 3.1 कैनरी 7 में तय किया गया है।


2

जैसा कि दूसरों ने सुझाव दिया है,

android.enableAapt2=false

सबसे आम समाधान है।

लेकिन मेरे मामले में, संकलन compileSdkVersion और buildToolsVersion में विभिन्न संस्करणों के कारण त्रुटि हुई थी

सुनिश्चित करें कि प्रमुख संस्करण को बनाए रखा गया है।


"compileSdkVersion और buildToolsVersion" सबसे पहले जाँच करने वाली बात है
vgulkevic

डॉन `टी इस android.enableAapt2 = झूठी का उपयोग करें,
सौरभ गद्दापल्लीवार

डॉन `टी इस android.enableAapt2 = झूठी का उपयोग करें, यह एक समाधान नहीं है। त्रुटि जो वास्तव में अपने बिल्ड आउटपुट के बॉक्स में दिखाई है पता लगाना, सटीक त्रुटि या अपवाद उपयोग compileSdkVersion 28 buildToolsVersion "28.0.3" खोजने के लिए दृश्य टॉगल करें पर क्लिक करें और निर्देशों का पालन हटाने या बाहरी पुस्तकालय या निर्भरता को अद्यतन
सौरभ Gaddelpalliwar

2

मुझे यह त्रुटि तब हो रही थी जब परियोजना का नाम बहुत लंबा था, और जिस स्थान पर मैं परियोजना को बचा रहा था, उसमें जोड़ा गया। प्रोजेक्ट को किसी अन्य स्थान पर ले जाना ताकि फ़ाइल नाम सिस्टम सीमा को पार नहीं कर रहे हैं मेरे लिए त्रुटि को हल किया।

C:\Users\<UserName>\AndroidStudioProjects\From Github\AdvancedAndroid_Emojify-TLIB.02-Exercise-DetectFaces\AdvancedAndroid_Emojify-TLIB.02-Exercise-DetectFaces\app\build\intermediates\incremental\mergeDebugResources\merged.dir\values\values.xml
Error:error: file not found.
Error:java.util.concurrent.ExecutionException: com.android.tools.aapt2.Aapt2Exception: AAPT2 error: check logs for details
Error:Execution failed for task ':app:mergeDebugResources'.
Error: java.util.concurrent.ExecutionException: com.android.tools.aapt2.Aapt2Exception: AAPT2 error: check logs for details

2

मुझे भी इस तरह की समस्या हुई है, मूल है मेरे कंप्यूटर का सिस्टम ट्रे इस पथ:

C: \ Users \ 'विशेष अक्षर दिखाई देते हैं' \ _। और चीनी में दिखाई देते हैं,

और अब मैंने इसका रास्ता बदल दिया:

C: \ Users \ hjc \ .android।

कारण विशेष पात्रों की समस्या है। यह इस कारण के लिए है कि बजरी appt2Exception समस्याओं की ओर जाता है


यह अब तय किया गया है। यदि आप एंड्रॉइड ग्रैडल प्लगइन 3.2.0-अल्फा 11 या नए में अपडेट करते हैं, तो यह फ़ाइल-पथ में गैर-असिसी पात्रों के साथ काम करता है।
इजाबेला ओर्लोव्स्का

2

मुझे भी इसी तरह की समस्या थी। यह gradle के cache (~ / .gradle / caches on linux) को डिलीट करके हल किया गया था, जिसने एंड्रॉइड स्टूडियो को फिर से डाउनलोड करने और सब कुछ जेनरेट करने के लिए मजबूर किया।


2

परियोजना को बंद करना और एंड्रॉइड स्टूडियो को फिर से शुरू करना मेरे लिए इस मुद्दे को तय करता है।

पुन: प्रारंभ करते समय, एंड्रॉइड स्टूडियो ने सूचित किया कि उसे लापता एसडीके डाउनलोड करने की आवश्यकता है, इसलिए एक बार उस पर ध्यान दिया गया था, तो मुद्दा ठीक हो गया था।


2

मुझे यकीन नहीं है कि यह आपके लिए अभी तक उत्तर दिया गया है, लेकिन मुझे वजन करने की अनुमति देता है। मैंने हाल ही में इसी तरह की समस्या का सामना किया था और मैं लॉगकैट के बगल में बिल्ड टैब से सटीक समस्या को इंगित करने में सक्षम था। एक्सएमएल में एक फॉन्टफ़िली त्रुटि के कारण मेरी समस्या थी। मैं मार्च 2018 अपडेट के साथ एंड्रॉइड स्टूडियो के नवीनतम संस्करण का उपयोग कर रहा हूं।


2

सुनिश्चित करें कि आप अपनी src/main/res/rawनिर्देशिका में मान्य फ़ाइल प्रकारों का उपयोग करते हैं। मेरे मामले में मैंने अपने रेज / कच्चे निर्देशिका में अन्य फाइलों के एक समूह के साथ एक .mov फ़ाइल की प्रतिलिपि बनाई थी। मुझे संदेह है कि समस्या यह थी कि aapt .mov फ़ाइल को संसाधित करने का प्रयास कर रहा था और यह नहीं जानता था कि इसके साथ क्या करना है।


2

मेरे पास वास्तव में एक ही मुद्दा था: एंड्रॉइड स्टूडियो 3.1.2 में अपडेट होने के बाद मेरी परियोजना AAPT2 त्रुटि के साथ संकलित नहीं करेगी जो मुझे मेरे कुछ ड्रॉबल्स के बारे में बता रही है जो कि संदर्भित हैं styles.xml नहीं हैं। AAPT2 को अक्षम करना अब कोई समाधान नहीं है, क्योंकि सेटिंग को हटा दिया गया है और 2018 के अंत में हटा दिया जाएगा।

पूरी तरह से असंबंधित layout.xmlफ़ाइल में xml घोषणा से ठीक पहले Culprit एक खाली लाइन थी ... इसलिए layout.xmlफ़ाइल इस तरह से शुरू हुई:

//empty line//
<?xml version="1.0" encoding="utf-8"?>

खाली लाइन को हटा दिया और सब कुछ फिर से एक आकर्षण की तरह काम किया। अविश्वसनीय और असंभावित, लेकिन सच है।

एंड्रॉइड स्टूडियो ने वास्तव में चेतावनी दी थी क्योंकि फ़ाइल xml घोषणा (खाली लाइन के कारण) से शुरू नहीं हुई थी। लेकिन चेतावनी केवल तब दिखाई देती है जब फ़ाइल को संपादक में खोला जाता है।


2

यह त्रुटि संदेश (AAPT2 त्रुटि: विवरण के लिए लॉग लॉग) उपयोगी नहीं है क्योंकि यह आपको नहीं बताता कि वास्तविक समस्या क्या है।

मेरे मामले में, यह एक गुम संसाधन XML ड्रॉबल फ़ाइल के कारण था।

error: failed linking file resources.

org.gradle.tooling.BuildException: Failed to process resources, see aapt output above for details.

मैंने केवल इसलिए पता लगाया क्योंकि मैंने XML फ़ाइल में बदलावों को खोल दिया था, और इस बार मुझे एक अधिक उपयोगी संदेश मिला:

error: resource drawable/ic_filter_off (aka com.xxx:drawable/ic_filter_off) not found.

Message{kind=ERROR, text=error: resource drawable/ic_filter_off (aka com.xxx:drawable/ic_filter_off) not found., sources=[C:\code\xxx\app\src\main\res\layout\app_bar_main.xml:69], original message=, tool name=Optional.of(AAPT)}

2

मेरे मामले में वास्तविक समस्या यह थी कि मेरी परियोजना के लिए लांचर मिपमैप आइकन उत्पन्न करने के लिए इमेज एसेट उत्पन्न करने के बाद, उत्पन्न फ़ाइल ic_launcher_foreground.xml के अंदर त्रुटि थी (गलत तरीके से उत्पन्न हुई थी)। फ़ाइल के अंत में गायब समापन xml टैग था, </ वेक्टर> गायब था।


2

चीजों की जाँच करें और नीचे देखें। समस्या का समाधान होना चाहिए।

  1. सबसे पहले बिल्ड विंडो के नीचे से अपने लॉग की जांच करें कि प्रोजेक्ट दिखाने से संबंधित कोई त्रुटि है या नहीं। यदि त्रुटि दिखाई दे रही है, तो उन सभी को ठीक करें। अब निर्माण और फिर से चलाने के लिए सभी त्रुटि आती है को ठीक करें। यह एंड्रॉइड gradle प्लगइन को 3.2.0 में बदले बिना aapt2 समस्या को समाप्त कर देगा।

  2. दूसरी बात यह है कि अगर बिल्ड लॉग में कोई प्रोजेक्ट संबंधी त्रुटि नहीं दिख रही है लेकिन फिर भी aapt2 त्रुटि दिखाई दे रही है तो आप नीचे दिए गए चरणों का पालन करके इसे ठीक कर सकते हैं।

build.gradleनीचे दिए गए प्रोजेक्ट स्तर फ़ाइल में अपने एंड्रॉइड ग्रेडल प्लगइन को अपडेट करें :

classpath 'com.android.tools.build:gradle:3.2.0-alpha13'

अब अपडेट करें android.enableAapt2=true। फिर अपने प्रोजेक्ट की जांच करें और उसका निर्माण करें।

इन चरणों में से किसी को भी संबंधित समस्याओं को ठीक करने के लिए काम करना चाहिए।


2

यदि आप xml फ़ाइलों में कुछ गलतियों के कारण कोटलिन त्रुटि प्राप्त कर रहे हैं। कोटलिन में xml त्रुटियों को खोजने के लिए बहुत कठिन है, बस असफल हो रहा है। एंड्रॉइड स्टूडियो टर्मिनल में कमांड के नीचे सटीक त्रुटि लॉग रन को जानने के लिए और त्रुटियों को ठीक करना आसान है।

./gradlew clean
./gradlew assemble

टर्मिनल में इनका उपयोग वास्तव में सटीक त्रुटि दर्शाता है। मेरे मामले में, यह एक खाली दृश्यता केंद्र था। धन्यवाद!
रामी जेमली

2

मुझे AAPT2 त्रुटि समान मिली: विवरणों के लिए लॉग की जांच करें, और मैंने सबसे आम समाधान के अनुसार, उपरोक्त समाधानों को लागू किया, मुझे gradle.properties और लाइन जोड़ दिया गया

android.enableAapt2 = false

समाधान के लिए, लेकिन मुझे एक त्रुटि प्रक्रिया मिली 'कमांड' D: \ Android \ sdk \ Sdk \ build-tools \ 27.0.3 \ aapt.exe '' गैर-शून्य निकास मान के साथ समाप्त

लेकिन कई खोजों के बाद मैंने पाया कि लेआउट की xml फ़ाइल में समस्या है कि मैं लेआउट की xml फ़ाइल में लाइनें दोहरा रहा था जो नीचे दी गई है:

xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"

Xml फ़ाइल से दोहराएँ पंक्तियाँ निकालें और प्रोजेक्ट और पूर्ण बनाएँ।


2

अपनी परियोजना में निम्नलिखित बातों की जाँच करें:

  • सुनिश्चित करें कि किसी भी XML फ़ाइल में फ़ाइल शुरू करने के लिए खाली स्थान नहीं है।

  • सुनिश्चित करें कि किसी भी ड्रा करने योग्य फ़ाइल में कोई अक्षर नहीं है जैसे कि बड़े अक्षर या नाम में कोई विशेष प्रतीक।

  • यदि आपका aapt2.exe लगातार गायब है, तो कृपया अपने पूर्ण पीसी को स्कैन करें, हो सकता है कि कोई वायरस है जो adb.exp या aapt2.exe को निकाल रहा है

आशा है आपको समाधान मिलेगा।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.