android support design library




appcompat-v7: 21.0.0 ': لم يتم العثور على أي مورد يطابق الاسم المعطى: attr' android: actionModeShareDrawable ' (10)

عند محاولة استخدام أحدث مكتبة دعم appcompat-v7 في مشروعي ، أتلقى الخطأ التالي:

/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'.

كيف يمكنني حل هذه المشكلة؟


`اتبع الخطوات أدناه:

يعمل لي. لحل هذه المشكلة ،

1.Right انقر فوق مكتبة appcompat_v7 وحدد خصائص

2.Now ، انقر على خيار Android ، قم بتعيين Project Build Path مثل Android 5.0 (مستوى API 21) تطبيق التغييرات.

3. الآن انتقل إلى ملف project.properties تحت مكتبة appcompat_v7 ،

4. قم بتحديد هدف المشروع على النحو التالي: target = android-21

5.Now نظيفة + بناء مكتبة appcompat_v7 والمشاريع الخاصة بك


الترقية إلى أحدث مكون إضافي لحل مشكلةي:

classpath 'com.android.tools.build:gradle:0.13.+'

تأكد من تنظيف مشروعك في استوديو android (أو الكسوف) ،

يجب أن تحل مشاكلك


في Android Studio كنت أحاول تعيين compileSdkVersion و targetSdkVersion إلى 19 .

كان الحل الذي build.gradle هو الاستبدال في الجزء السفلي من build.gradle ، من هذا:

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

إلى الإصدار الأقدم من مكتبة appcompat:

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

في حين أن إجابة loeschg صحيحة تمامًا ، فأنا أريد فقط توضيحها وتقديم حل لكل IDE (Eclipse و IntellJ و Android Studio) حتى إذا كانت الأخطاء تميز قليلاً.

متطلبات مبدئية

تأكد من أنك قمت بتنزيل أحدث extras بالإضافة إلى Android 5.0 SDK عبر SDK-Manager.

Android Studio

افتح ملف build.gradle التطبيق الخاصة بك وقم بتغيير compileSdkVersion الخاص بك إلى 21. لا يلزم بالضرورة تغيير targetSdkVersion SDK-Version إلى 21 ولكن يوصى به لأنه يجب عليك دومًا استهداف أحدث إصدار من Android .
في النهاية ، ستظهر لك ملف gradle-like:

android {
    compileSdkVersion 21
    // ...

    defaultConfig {
        // ...
        targetSdkVersion 21
    }
}

تأكد من مزامنة مشروعك بعد ذلك.

كسوف

عند استخدام v7-appcompat في Eclipse ، يجب عليك استخدامه كمشروع مكتبة. لا يكفي مجرد نسخ الملف * .jar إلى مجلد /libs الخاص بك. يرجى قراءة هذا (انقر) خطوة بخطوة تعليمي على developer.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'.

حل

الشيء الوحيد الذي عليك القيام به هو فتح ملف project.properties الخاص بـ android-support-v7-appcompat وتغيير الهدف من target=android-19 to target=android-21 .
بعد ذلك ، ما عليك سوى تنفيذ Project --> Clean... حتى تسري التغييرات.

IntelliJ IDEA (لا تستخدم Gradle)

على عكس Eclipse ، لا يكفي استخدام android-support-v7-appcompat.jar ؛ يجب عليك استيراد appcompat كـ وحدة نمطية. قراءة المزيد حول هذا الموضوع على هذا StackO-Post (انقر) .
( ملاحظة: إذا كنت تستخدم فقط .jar ستحصل على NoClassDefFoundErrors في وقت التشغيل )

عندما تحاول إنشاء المشروع ، ستواجه مشكلات في مجلدات 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 -> Open Module Settings (F4) -> [Dependency Tab] حدد Android API 21 Platform من القائمة المنسدلة -> Apply

ثم فقط إعادة بناء المشروع (بناء -> إعادة بناء المشروع) وكنت على ما يرام.


كانت مشكلتي أن لدي مكتبات أخرى أشارت إليها مشروعي وكانت تلك المكتبات تحتوي على نسخة أخرى من appcompat المشار إليها. هذا ما فعلته لحل المشكلة:

(يجب عليك عمل نسخة احتياطية لمشروعك قبل القيام بذلك)

1) قمت بحذف جميع مجلدات تخطيط appcompat (مثل: / res / layout -11).

2) حل المشاكل التي نشأت من ذلك ، وعادة ما يكون خطأ في menu.xml

3) العودة إلى المشروع الرئيسي وإضافة مكتبة appcompat ، نظيفة ، ويعمل كل شيء!


لقد حصلت على نفس الخطأ عندما قمت بتغيير إصدار Compile SDK من API: 21 إلى API: 16. كانت المشكلة ، الإصدار appcompat . إذا كنت بحاجة إلى استخدام إصدار قديم من واجهة برمجة تطبيقات Android ، فيجب عليك تغيير إصدار appcompat هذا أيضًا. في حالتي ( لواجهة برمجة التطبيقات: 16 ) ، اضطررت إلى استخدام appcompat-v7: 19. + .

لذلك أنا استبدال التبعيات في build.raddle على النحو التالي ،

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

وتأكد من أن لديك إصدارات قديمة من إصدارات appcompat على SDK


لقد قمت بإضافة مشروع آخر إلى مساحة العمل الخاصة بي وكنت أحاول الإشارة إلى نشاط منه في ملف البيان ، وكنت أتلقى هذا الخطأ. المشكلة هي أنني كنت الرجوع إلى المكتبة بشكل غير صحيح. هذه هي الطريقة التي أصلحت بها المشكلة:

  • انقر بزر الماوس الأيمن على المشروع
  • حدد خصائص
  • انقر على Android في القائمة اليمنى
  • انقر على "إضافة"
  • يرجى اختيار مشروع المكتبة

ذهبت الجرة إلى مجلد Dependencies Android وتم إصلاح هذا الخطأ.


ما أوصيه هو: (هذا يعمل لي بعد عدة أيام مع وجود أخطاء)

تأكد من أنك قمت بتنزيل:

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

-Redowload ADT

، جعل نسخة من مشروعك الأمن.

-يجب أن يكون لديك ADT ، مساحة العمل والمشروع الذي سنقوم باستيراده على نفس القرص (على سبيل المثال C: /)

  1. احذف الآن توافق التطبيق ومشروعك.

  2. In eclipse: File> Import> Android existing project> Next> Browse (The folder where you your ADT) / sdk / extras / android / v7 / appcompat> Import> Finish

  3. الآن في الكسوف حزمة إكسبلورر: android-support-v7-appcompat / libs / Make on the two JARS: Right click> Build Path> Add to Build Path

  4. انقر بزر الماوس الأيمن على libs / folder> مسار البناء> تكوين مسار البناء وتحقق من هذا JARS> موافق

  5. على شريط الكسوف العلوي> Project> Clean

  6. استيراد مشروعك> ملف> استيراد> استعراض مشروعك> إنهاء

  7. الآن ، انقر بزر الماوس الأيمن على Projectfile و android-support-v7-appcompat> Properties> Android> وحدد أحدث واجهة برمجة تطبيقات تظهر> OK

  8. انقر بزر الماوس الأيمن على ملف المشروع> خصائص> Android> Add> android-support-v7-appcompat

  9. على شريط الكسوف العلوي> Project> Clean


من المحتمل أن يكون هذا بسبب أنك لم تقم بتعيين compileSdkVersion على 21 في ملف build.gradle الخاص بك. ربما تريد أيضًا تغيير targetSdkVersion إلى 21.

android {
    //...
    compileSdkVersion 21

    defaultConfig {
        targetSdkVersion 21
    }
    //...
}

يتطلب ذلك تنزيل أحدث تحديثات SDK لتبدأ بها.

بمجرد تنزيل جميع التحديثات (لا تنس أيضًا تحديث مكتبة / مستودع دعم Android أيضًا!) وتحديث compileSdkVersion ، قم بإعادة مزامنة مشروع Gradle.

تحرير: ل Eclipse أو مستخدمي IntelliJ العام

انظر إجابة reVerse. لديه نزهة شاملة للغاية من خلال!





android-5.0-lollipop