The 'kotlin-android-extensions' Gradle plugin is no longer supported حل المشكلة
في برنامج android studio
وشكرا
اولاً الحل الأسهل هو أن تتوجه إلى ملف build.gradle ثم تغيير إصدار kotlin-android إلى 1.7.10 وسيصبح سطر الكود كالتالي في كائن الإَضافات plugins لديك:
id 'org.jetbrains.kotlin.android' version '1.7.10' apply false
ثم تشغيل المشروع عن طريق الضغط على Sync now.
وسأوضح لك سبب المشكلة، ففي السابق، كانت إضافة "kotlin-android-extensions" تستخدم لتمكين استخدام بعض الميزات المرتبطة بتوصيل العناصر في واجهة المستخدم (UI) بشكل تلقائي، مثل التعامل مع عناصر الـ XML مباشرة في كود Kotlin دون الحاجة إلى الاستناد إلى الدوال الكلاسيكية لربط العناصر.
لكن تم التوقف عن دعم هذه الإضافة اعتبارًا من نسخة Kotlin 1.4.20، وبدأت JetBrains (شركة وراء لغة Kotlin) توصي بطرق أخرى للتعامل مع ربط عناصر واجهة المستخدم.
البديل الأساسي الذي يُوصى به الآن هو استخدام مكتبة Android Jetpack's View Binding، وتتيح لك View Binding توليد رمز Kotlin لكل ملف XML لواجهة المستخدم الخاص بك، مما يتيح لك الوصول إلى العناصر الموجودة في الواجهة بسهولة وأمان.
وذلك عن طريق التالي:
1- استخدام نسخة من Kotlin أحدث من 1.4.20.
2- تحديث ملف build.gradle لمشروعك، وأضف التالي في قسم android:
android { ... viewBinding { enabled = true } }
3- بعد ذلك، قم بإعادة بناء المشروع.
وبعد تمكين View Binding، ستتمكن من استخدام رمز Kotlin المولد تلقائيًا لكل ملف XML في مشروعك، وستتم مضاعفة الملفات المولدة تحت مجلد binding في حزمة المستوى العلوي لكل مجلد res/layout.
وتستطيع الآن الاستفادة من الرمز المولد للوصول إلى عناصر واجهة المستخدم بسهولة، كالتالي:
val binding = ActivityMainBinding.inflate(layoutInflater) setContentView(binding.root) // الآن يمكنك الوصول إلى العناصر في واجهة المستخدم بواسطة binding binding.button.setOnClickListener { // إجراءات معالجة النقرة هنا }
وأنصحك بالإطلاع على الدليل الرسمي:
التعليقات