appcompat-v7: 21.0.0 ': कोई संसाधन नहीं मिला जो दिए गए नाम से मेल खाता है: attr' android: actionModeShareDrawable '




gradle xamarin.android (10)

`नीचे दिए गए चरणों का पालन करें:

यह मेरे लिए काम कर रहा है। इस मुद्दे को हल करने के लिए,

1. appcompat_v7 लाइब्रेरी पर राइट क्लिक करें और गुण चुनें

2. अब, एंड्रॉइड विकल्प पर क्लिक करें, एंड्रॉइड 5.0 (एपीआई लेवल 21) के रूप में प्रोजेक्ट बिल्ड पथ सेट करें, चेंज लागू करें।

3. अब appcompat_v7 लाइब्रेरी के तहत project.properties फ़ाइल पर जाएं,

4. परियोजना लक्ष्य को इस प्रकार सेट करें: target = android-21

5. अब स्वच्छ + appcompat_v7 लाइब्रेरी और अपनी परियोजनाओं का निर्माण करें

मेरी प्रोजेक्ट में नवीनतम एपकोपेट-वी 7 समर्थन लाइब्रेरी का उपयोग करने का प्रयास करते समय, मुझे निम्न त्रुटि मिलती है:

/Users/greg/dev/mobile/android_project/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/21.0.0/res/values-v11/values.xml
Error:(36, 21) No resource found that matches the given name: attr 'android:actionModeShareDrawable'.
Error:(36, 21) No resource found that matches the given name: attr 'android:actionModeShareDrawable'.
Error:(36, 21) No resource found that matches the given name: attr 'android:actionModeShareDrawable'.
Error:(36, 21) No resource found that matches the given name: attr 'android:actionModeShareDrawable'.

मैं यह कैसे तय करुं?


एंड्रॉइड स्टूडियो में मैं compileSdkVersion और targetSdkVersion को 19 पर सेट करने का प्रयास कर रहा था।

मेरा समाधान build.gradle के तल पर प्रतिस्थापित करना था, इससे:

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:21.0.3'
}

एपकोपेट लाइब्रेरी के पुराने संस्करण में:

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:19.+'
}

ग्रहण में कार्यक्षेत्र में दूसरी परियोजना बनाने के बाद, मुझे यह समस्या थी। मेरा मानना ​​है कि ऐसा इसलिए है क्योंकि मैंने इसे एक अलग एसडीके संस्करण के साथ बनाया है और यह एंड्रॉइड-सपोर्ट-वी 7-एपकोपेट लाइब्रेरी को ओवरवोट करता है।

मैंने सबकुछ साफ करने की कोशिश की लेकिन इसका कोई फायदा नहीं हुआ। आखिरकार, प्रोजेक्ट.प्रोपर्टीज को संपादित करने के लिए ऊपर दिए गए सुझाव और लक्ष्य = एंड्रॉइड -21 को बदलें और मेरी परियोजना को एंड्रॉइड 5.0 पर सेट करें, इसे ठीक करें।


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

पूर्व आवश्यकताएं

सुनिश्चित करें कि आपने एसडीके-मैनेजर के माध्यम से नवीनतम extras साथ ही Android 5.0 SDK डाउनलोड किया है।

एंड्रॉइड स्टूडियो

अपने ऐप-मॉड्यूल की build.gradle फ़ाइल खोलें और अपने compileSdkVersion को 21 पर बदलें। compileSdkVersion एसडीके-वर्जन को 21 में बदलने के लिए मूल रूप से आवश्यक नहीं है, लेकिन इसकी अनुशंसा की जाती है क्योंकि आपको हमेशा नवीनतम एंड्रॉइड बिल्ड-वर्जन को लक्षित करना चाहिए।
अंत में आप gradle-file इस तरह दिखेगा:

android {
    compileSdkVersion 21
    // ...

    defaultConfig {
        // ...
        targetSdkVersion 21
    }
}

बाद में अपनी परियोजना को सिंक करना सुनिश्चित करें।

ग्रहण

ग्रहण में v7-appcompat का उपयोग करते समय आपको इसे लाइब्रेरी प्रोजेक्ट के रूप में उपयोग करना होगा। * .jar को अपने /libs फ़ोल्डर में कॉपी करने के लिए पर्याप्त नहीं है। प्रोजेक्ट को सही तरीके से आयात करने के तरीके के बारे में जानने के लिए कृपया डेवलपर .android.com पर चरण-दर-चरण ट्यूटोरियल पढ़ें (क्लिक करें)

जैसे ही प्रोजेक्ट आयात किया जाता है, आपको पता चलेगा कि /res फ़ोल्डर में कुछ फ़ोल्डर्स निम्न त्रुटियों के कारण लाल-रेखांकित हैं:

error: Error retrieving parent for item: No resource found that matches the given name 'android:TextAppearance.Material'.
error: Error retrieving parent for item: No resource found that matches the given name 'android:Widget.Material.*'
error: Error: No resource found that matches the given name: attr 'android:actionModeShareDrawable'.

उपाय

आपको केवल एक चीज है जो android-support-v7-appcompat की project.properties फ़ाइल android-support-v7-appcompat और target=android-19 से target=android-21 में लक्ष्य को बदलना है।
इसके बाद बस एक Project --> Clean... ताकि परिवर्तन प्रभावी हो जाएं।

IntelliJ IDEA (ग्रैडल का उपयोग नहीं कर रहा है)

ग्रहण android-support-v7-appcompat.jar यह केवल android-support-v7-appcompat.jar का उपयोग करने के लिए पर्याप्त नहीं है; आपको मॉड्यूल के रूप में appcompat आयात करना appcompat । इस स्टैकओ-पोस्ट (क्लिक) पर इसके बारे में और पढ़ें।
( नोट: यदि आप केवल .jar का उपयोग कर रहे हैं तो आपको रनटाइम पर NoClassDefFoundErrors मिलेगा )

जब आप प्रोजेक्ट बनाने की कोशिश कर रहे हैं तो आपको res/values-v** फ़ोल्डर्स में समस्याएं res/values-v** हैं। आपकी संदेश विंडो निम्न की तरह कुछ कहेंगे:

Error:android-apt-compiler: [appcompat]  resource found that matches the given name: attr 'android:colorPrimary'.
Error:(75, -1) android-apt-compiler: [appcompat] C:\[Your Path]\sdk\extras\android\support\v7\appcompat\res\values-v21\styles_base.xml:75: error: Error retrieving parent for item: No resource found that matches the given name 'android:Widget.Material.ActionButton'.
// and so on

उपाय

appcompat मॉड्यूल पर राइट क्लिक करें -> ओपन मॉड्यूल सेटिंग्स (एफ 4) -> [निर्भरता टैब] ड्रॉपडाउन से एंड्रॉइड एपीआई 21 प्लेटफॉर्म का चयन करें -> आवेदन करें

फिर बस परियोजना (बिल्ड -> पुनर्निर्माण परियोजना) का पुनर्निर्माण करें और आप जाने के लिए अच्छे हैं।


मुझे प्ले-सेवाओं के साथ इस मुद्दे का सामना करना पड़ा: 5.0.8 9। 6.1.11 हल समस्या का उन्नयन।


मुझे वही त्रुटि मिली जब मैंने एपीआई से संकलन एसडीके संस्करण बदल दिया: 21 से एपीआई: 16। समस्या थी, एपकोम्पेट संस्करण। यदि आपको एंड्रॉइड एपीआई के पुराने संस्करण का उपयोग करने की आवश्यकता है, तो आपको यह एपकोम्पेट संस्करण भी बदलना होगा। मेरे मामले में ( एपीआई के लिए: 16 ), मुझे एपकोम्पेट-वी 7: 19. + का उपयोग करना पड़ा।

इसलिए मैं निर्भरता को build.gradle में निम्नानुसार बदलता हूं ,

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:19.+'
}

और सुनिश्चित करें कि आपके एसडीके पर एपकोम्पेट संस्करणों के पुराने संस्करण हैं


मैं क्या सिफारिश करता हूं: (यह त्रुटियों के साथ कई दिनों के बाद मेरे लिए काम करता है)

सुनिश्चित करें कि आपने डाउनलोड किया है:

- the Lastest SDK Platform from the latest Android version
- Android Suppor Librarie and Repository from EXTRAS 

एडीटी को पुनः लोड करें

- अपनी परियोजना की एक सुरक्षा प्रति बनाओ।

- आपके पास एडीटी, वर्कस्पेस और प्रोजेक्ट होना चाहिए जो हम उसी डिस्क में आयात करेंगे (उदाहरण के लिए सी: /)

  1. अब ऐप कंपैट और अपनी परियोजना को हटाएं।

  2. ग्रहण में: फ़ाइल> आयात> एंड्रॉइड मौजूदा प्रोजेक्ट> अगला> ब्राउज़ करें (वह फ़ोल्डर जहां आपका एडीटी है) / sdk / extras / android / v7 / appcompat> आयात> समाप्त करें

  3. अब ग्रहण पैकेज एक्सप्लोरर में: android-support-v7-appcompat / libs / दो जार पर बनाएं: राइट क्लिक> बिल्ड पथ> बिल्ड पथ में जोड़ें

  4. Libs / फ़ोल्डर> राइल पथ> बिल्ड पथ कॉन्फ़िगर करें पर राइट क्लिक करें और इन दो जार> ठीक है

  5. ऊपरी ग्रहण बार> परियोजना> साफ करें

  6. अपनी परियोजना आयात करें> फ़ाइल> आयात> अपनी परियोजना ब्राउज़ करें> समाप्त करें

  7. अब, प्रोजेक्टफाइल और एंड्रॉइड-सपोर्ट-वी 7-एपकोपेट> गुण> एंड्रॉइड> पर राइट क्लिक करें और दिखाई देने वाले नवीनतम एपीआई का चयन करें> ठीक है

  8. प्रोजेक्टफ़ाइल> गुण> एंड्रॉइड> जोड़ें> एंड्रॉइड-सपोर्ट-v7-appcompat पर राइट क्लिक करें

  9. ऊपरी ग्रहण बार> परियोजना> साफ करें


मैं सब कुछ के साथ अद्यतित था और अभी भी यह त्रुटि मिली है, यकीन नहीं है कि क्यों मुझे लगता है कि छवि एक अजीब तरीके से दूषित हो गई थी और छवि को बदलने के बाद मुझे त्रुटि से छुटकारा मिला। एक अलग छवि के साथ प्रयास करने के लायक हो सकता है :)


यदि आप एपीआई 21 को लक्ष्य एपीआई के रूप में उपयोग नहीं करना चाहते हैं, और इस प्रकार आप सामग्री थीम का उपयोग नहीं करना चाहते हैं, तो आपको एपीआई 1 से संबंधित पुराने संशोधन का उपयोग करना होगा>

compile "com.android.support:appcompat-v7:19.0.+"

यह आपकी समस्या को हल करने में भी मदद करता है, यह केवल उस चीज़ पर निर्भर करता है जिसे आप प्राप्त करना चाहते हैं।


सुनिश्चित करें कि आप एंड्रॉइड स्टूडियो (या ग्रहण) में अपनी परियोजना को साफ करते हैं,

यह आपके मुद्दों को हल करना चाहिए





android-5.0-lollipop