android - tools - gradle ماهو




خطأ في استرداد العنصر الأصل: لم يتم العثور على مورد يطابق الاسم المحدد بعد الترقية إلى AppCompat v23 (16)

أردت أن تقليله من API 23 إلى 22 وحصلت على هذا الخطأ. اضطررت إلى تغيير جميع ملفات build.gradle في مشروع من أجل تجميعها.

android {
    compileSdkVersion 22
    buildToolsVersion "22.0.1"

    defaultConfig {
        applicationId "com.yourapp.app"
        minSdkVersion 14
        targetSdkVersion 22
    }
...
dependencies {
    compile 'com.android.support:appcompat-v7:22.2.1'
    compile 'com.android.support:support-v4:22.2.1'
    compile 'com.android.support:design:22.2.1'
    compile 'com.google.android.gms:play-services-gcm:10.0.1'
}

لقد قمت دائمًا ببرمجة Android مع Eclipse وقررت بدء الترحيل إلى Android Studio . قررت استخدام نفس SDK الذي أمتلكه بالفعل لـ Eclipse ، ثم:

  • بدأت مشروع جديد
  • تعيين الحد الأدنى من SDK 4.0 (مستوى API 14)
  • اختر خيار نشاط فارغ
  • تستخدم الأسماء الافتراضية لاسم النشاط واسم التخطيط
  • ضرب النهاية

بعد بضع ثوانٍ ، ينتهي Gradle من الإنشاء ، وهو يرمي لي خطأين بالرسائل التالية في الملف Teste4 \ app \ build \ intermediates / exploded-aar \ com.android.support \ appcompat-v7 \ 23.0.0 \ res \ values -v23 \ القيم v23.xml:

خطأ: (2) خطأ في استرداد العنصر الأصل: لم يتم العثور على مورد يطابق الاسم المحدد 'android: TextAppearance.Material.Widget.Button.Inverse'.

خطأ: (2) خطأ في استرداد أصل العنصر: لم يتم العثور على مورد يطابق الاسم المحدد 'android: Widget.Material.Button.Colored'.

ضمن ملف -> بنية المشروع -> الوحدات النمطية: التطبيق (العمود الأيسر) -> علامة تبويب "الخصائص" ، لدي الإصدارات التالية:

  • "ترجمة إصدار Sdk": Android 5.1 (API المستوى 22)
  • "إصدار أدوات البناء": 23.0.2

ماذا علي أن أفعل من أجل إصلاح هذا؟

لقد جربت بالفعل ما تم اقتراحه في تطبيق stack Overflow على appcompat-v7: 21.0.0: لا يوجد مورد يطابق الاسم المحدد: attr 'android: actionModeShareDrawable' ، لكنه لم ينجح.


إذا حاولت تغيير الهدف إلى إصدار سابق من GooglePlayServices أو AppCompatv7 ولم ينجح ، تحقق مما إذا كان لديك أي تبعية لمكتبات المشروع ، فسيستهدف هذا المشروع أحدث إصدار من أي من هذه المكتبات. لقد حدث ذلك مع مشروع مكتبة خرائط Google Utils:

يحل محل:

compile 'com.google.android.gms:play-services:+'

إلى

compile 'com.google.android.gms:play-services:8.3.0'

ثم يمكنك متابعة الاستهداف الكامل API 22

إذا كان لا يزال غير مترجم ، في بعض الأحيان يكون من المفيد تعيين compileSdkVersion API إلى 23 و targetSdkVersion إلى 22.


إذا كنت تواجه أخطاء حتى بعد تنزيل أحدث إصدار من SDK و Android Studio ، فإليك ما فعلته:

  1. قم بتنزيل أحدث إصدار من SDK
  2. هيكل ملف مفتوح للمشروع ( Ctrl + Alt + Shift + S )
  3. في الوحدات النمطية ، حدد التطبيق
  4. في علامة تبويب "الخصائص": تغيير ترجمة إصدار SDK إلى الخطمي API 23 Android 6.0 (الأحدث)

آمل أن يساعد شخص ما حتى لا يعاني مثلما عانيت خلال هذين اليومين.


تحتاج إلى تعيين compileSdkVersion إلى 23.

منذ أن قام API 23 Android بإزالة حزم Apache Http المهملة ، لذلك إذا كنت تستخدمها لطلبات الخادم ، فستحتاج إلى إضافة useLibrary 'org.apache.http.legacy' إلى build.gradle كما هو مذكور في هذا الرابط:

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.0"
    ...

    //only if you use Apache packages
    useLibrary 'org.apache.http.legacy'
}

حصلت على نفس المشاكل لقد قمت بحل مشكلتي من خلال تحديث gradle.build لكل وحدة فرعية إلى أحدث إصدار من برنامج التحويل البرمجي.


حل آخر: انتقل إلى

\sdk\extras\android\m2repository\com\android\support\appcompat-v7\23.x.x

فتح ملف .aar مع 7-zip أو winrar ، في مجلد res ، قم بإزالة folder values-23 folder وحفظ التغييرات.


في حالتي ، كان إصدارًا أعلى من خدمات تشغيل Google. أنا وضعت لهم 7.0.0 (وليس 8.x) وكان كل شيء على ما يرام.


كل شيء رائع ، لكن لم يوضح أي منك مكان تنزيل أدوات إنشاء SDK


كما ذكر الآخرون بالفعل يجب أن يتطابق compile sdk version الخاص بك support library's الإصدار الرئيسي support library's . ومع ذلك ، هذا مهم أيضًا للمشاريع subprojects إذا كان لديك أي subprojects .

في حالة قيامك بذلك ، يمكنك تعيين إصدارات SDK subprojects بالبرنامج النصي التالي:

subprojects { subproject ->
afterEvaluate{
    if((subproject.plugins.hasPlugin('android') || subproject.plugins.hasPlugin('android-library'))) {
        android {
            compileSdkVersion rootProject.ext.compileSdkVersion
            buildToolsVersion rootProject.ext.buildToolsVersion
        }
      }
   }
}

أضف هذا البرنامج النصي في ملف build.gradle الجذر الخاص بك.


لقد وجدت الحل ، بدأت المشكلة عندما قمت بتحديث sdk ، وبعد ذلك استخدمت buildToolsVersion مختلفة ('22 .0.1 ') وكنت أستخدم مكتبة دعم مختلفة مثل الترجمة' com.android.support:appcompat-v7:23.0.0 ' ، تظهر لك في الصورة أدناه

كان هذا يثير مشكلة " android.widget.Material ..." ثم استخدمت نفس الإصدار لمكتبة الدعم مثل الترجمة "com.android.support:appcompat-v7:22.0.1" و DONE الخاص به. (تظهر لك في الصورة أدناه)


وأنا أتفق مع الجواب السابق. يجب أن يتطابق إصدار SDK الخاص بك مع مكتبة الدعم. هنا هو ما فعلته.

  1. يمكنك الذهاب إلى SDK Manager وتحت منصة SDK ، قم بتثبيت Android 5.X مع مستوى API 23.
  2. ضمن بنية المشروع ، قم بتغيير ترجمة إصدار SDK إلى API 23 ، وإنشاء أدوات الإصدار إلى 23.0.0

ثم يجب أن تبني دون مشكلة.


يجب أن يتطابق إصدار إصدار SDK الخاص بك مع الإصدار الرئيسي لمكتبة الدعم. هذا هو الحل لمشكلتك. يمكنك التحقق من ذلك بسهولة في البرامج النصية build.gradle في ملف build.gradle . Fx: إذا كان compileSdkVersion هو 23 ، يجب أن تبدأ مكتبة الترجمة الخاصة بك في 23.

  compileSdkVersion 23
    buildToolsVersion "23.0.0"
    defaultConfig {
        minSdkVersion 15
        targetSdkVersion 23
        versionCode 340
        versionName "3.4.0"
    }
dependencies {
    compile 'com.android.support:appcompat-v7:23.1.0'
    compile 'com.android.support:recyclerview-v7:23.0.1'
}

وتأكد دائمًا من أن Android Studoi الخاص بك لديه مستوى واجهة برمجة التطبيقات المدعومة. يمكنك التحقق من ذلك في Android SDK ، مثل هذا:


يجب عليك ترجمة مشروعك بأحدث إصدار ، لذا قم بالتحديث والتثبيت من SDK. مزامنة المشروع الخاص بك مع مشروع sync project with Gradle file زر sync project with Gradle file .
يمكنك أيضًا المتابعة مع الإصدار الحالي ولكن التحقق من تثبيته بشكل صحيح أدناه صورة تشير إلى API 22 المثبت بشكل صحيح.

وتزامن المشروع الخاص بك إذا لزم الأمر.

قد يساعد.


يحدث هذا لأنه بعد التحديثات يستخدم Android Studio الإصدار 23 من واجهة برمجة التطبيقات افتراضيًا.

عملت التالية بالنسبة لي:

اضغط على Ctrl + Shift + Alt + S للوصول إلى صفحة هيكل المشروع. انتقل إلى علامة تبويب "الخصائص" وقم بتغيير 23.0.0 إلى 22.0.1 (أو ما يعادل ما كنت تستخدمه سابقًا) في منطقة أداة الإنشاء وأعد بناء مشروعك.

إذا لم ينجح ذلك ، فانتقل إلى gradle: app وبعد ذلك

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

تحرير الإصدار 7: 23.0.0 إلى الإصدار 7 : 22.2.1 كما هو موضح أعلاه ومزامنة الدرج. هذا سوف يعمل بالتأكيد.


عندما تقوم بتحديث Android Studio ، فإنه يستخدم إصدار API 23 افتراضيًا ، وهذا هو السبب الرئيسي لحدوثه. وبالتالي،

في البداية ، تحقق من إصدار AppCompat في build.gradle (الوحدة النمطية: التطبيق)

إذا حدث خطأ بعد التغيير إلى 23 ، فما عليك سوى تنزيله

Compile Sdk Version to API 23, and Build Tools Version to 23.0.0

من مدير SDK. إذا تم تنزيلها بالفعل بعد ذلك:

1. Go to SDK Manager and
2. Under Project Structure, change *Compile SDK Version* to API 23, and *Build Tools Version* to 23.0.0

انقر فوق زر SDK Manager وافتح مربع الحوار.

انقر فوق منصة SDK وتحقق من تنزيل Android 6.0 أم لا.

إن لم يكن ، ثم قم بتنزيل ذلك أولاً. بعد الانتهاء من التنزيل ، انقر فوق " تطبيق" .

تحتاج الآن إلى تطبيق التغييرات على مشروعك من الإعداد. ثم اضغط على Ctrl + Alt + Shift + S لفتح الإعداد

  1. انقر فوق التطبيق من القائمة.
  2. انقر فوق خصائص
  3. تغيير إصدار SDK ترجمة إلى API 23
  4. غير نسخة Build Tools الخاصة بك إلى 23.0.0

لا تنس أن تعيد بناء مشروعك.

ثم سوف يذهب الخطأ الخاص بك.


لقد أثيرت هذه المشكلة لأنه الآن يجب أن يتطابق إصدار SDK المترجم مع الإصدار الرئيسي لمكتبة دعم Android.

في حالتي ، لدي الإصدار 23 من Android Support Library ، لذلك اضطررت إلى تجميع Android SDK version 23 ، واضطررت إلى تغيير هذا في ملف build.gradle بي:

حسنًا ، سيحتاج البعض منك إلى تثبيت SDK ، Android 6.0 (API 23)

ولا تنس مزامنة المشروع مع ملفات الدرجات





gradle