تصف هذه الصفحة الخصائص والخيارات اللازمة لإعداد مشروع مكتبة Android للنشر باستخدام المكوّن الإضافي لنظام Gradle المتوافق مع Android (AGP). حتى في حال إعداد بعض هذه الخصائص في بداية إنشاء ملف ، راجع الإرشادات التالية لتحسين الإعدادات.
اختيار مساحة اسم
يجب أن تكشف مكتبات Android عن مساحة اسم لتتمكّن من إنشاء مساحة اسم فريدة
R
عند تجميع مواردها. يجب أن تتطابق مساحة الاسم هذه ارتباطًا وثيقًا
حزمة الفئة الجذر في المكتبة لتجنُّب حدوث أي التباس عند استيراد المستخدمين لحزمة
صفَّين من المكتبة وصفّها R
.
بدءًا من AGP 7.0، يمكنك تعيين
مساحة الاسم
في ملف build.gradle
للتطبيق، كما هو موضّح في مثال الرمز التالي:
Groovy
android { namespace = 'com.example.library' }
Kotlin
android { namespace = "com.example.library" }
مساحة الاسم هي خاصية للمكتبة يواجهها المطوّر. لا
بهوية التطبيق، والتي يتم تعيينها باستخدام
applicationId
الموقع.
في الإصدارات السابقة من AGP، تُستخدم كلتا السمتين applicationId
(بالنسبة إلى
التطبيق) والسمة namespace
(لمكتبة) باستخدام السمة
package
في البيان
مما أدى إلى الالتباس.
اختيار قيمة minSdkVersion
اختيار minSdkVersion
من أجل
ومكتبتك هي جانب مهم في نشر المكتبة. تشير رسالة الأشكال البيانية
يجب أن يعكس minSdkVersion
الحد الأدنى من إصدار Android الذي يمكن لرمزك استخدامه.
والدعم.
يُرجى الانتباه إلى الاعتبارات التالية عند اختيار minSdkVersion
:
يؤدي اختيار قيمة
minSdkVersion
منخفضة عمومًا إلى توزيع مكتبتكلا يتم تنفيذ رمز المكتبة بشكل عام ما لم يتم تنفيذ يسميها بشكل صريح. لا يزال بإمكان التطبيق تشغيل على إصدار من Android أقل مما تتطلبه التبعية للمكتبة - إذا لم تكن المكتبة ضرورية لوظائف التطبيق الأساسية، من خلال إجراء عمليات فحص في وقت التشغيل قبل الاتصال المكتبة. لذلك، اضبط
minSdkVersion
في مكتبتك على مستوى منخفض بما يكفي ويمكن تضمينه في التطبيقات، واستدعاؤه قدر الإمكان للمساعدة في الوصول إلى مزيد من المستخدمين المستخدمين.قد يؤدي اختيار قيمة
minSdkVersion
عالية إلى منع التطبيقات من تضمين المكتبةدمج البيان، وهو خطوة في AGP تدمج ملفات البيان التطبيق ومن تبعياته، يفرض عدم يكون لدى التبعيات
minSdkVersion
أعلى من التطبيق.قد يؤدي اختيار قيمة
minSdkVersion
عالية إلى مطالبة مطوّري التطبيقات بإيقافها. بيان عمليات التحقّق من الأمان المتعلقة بعمليات الدمج، ما يتسبّب في حدوث مشاكل لاحقًا في عملية التصميم.لأنّ دمج البيان يمنع مشاريع التطبيقات من تضمين المكتبات التي تتضمّن
minSdkVersion
أعلى من التطبيق نفسه، يحتاج مطوِّرو التطبيقات إلى إيقاف عمليات التحقق من الأمان لعملية دمج البيان للحد من الأخطاء. ومع ذلك، فإن هذا يخاطر بعدم التوافق الحقيقي.قد يكون اختيار قيمة
minSdkVersion
عالية أمرًا ضروريًا في حالات خاصة حيث يتضمن بيان المكتبة مستقبِل البث أو أي آلية أخرى عن طريق التي يتم تشغيل رمزها تلقائيًافي هذه الحالات، يضمن اختيار قيمة
minSdkVersion
عالية إمكانية تشغيل الرمز. وبدلاً من ذلك، يمكنك إيقاف السلوك التلقائي ليتمكّن التطبيق من تفعيل إلى تنفيذ المكتبة بعد إجراء عمليات التحقق الصحيحة.
للسماح بالتضمين في التطبيقات، استخدم
التعليق التوضيحي RequiresApi
في
لإخبار المتصلين بأنها بحاجة إلى إجراء عمليات تحقق في وقت التشغيل. جهاز Android
تستخدم أداة Lint معلومات RequiresApi
لإجراء عمليات الفحص. لمزيد من المراجع
حول استخدام التعليقات التوضيحية لتحسين رمز واجهة برمجة التطبيقات وواجهات برمجة التطبيقات، راجع تحسين الرموز
الفحص باستخدام التعليقات التوضيحية.
إعداد البيانات الوصفية في AAR
تتوفّر مكتبة Android في حزم ملف أرشيف Android (AAR). تتألف البيانات الوصفية AAR من خصائص تساعد مكتبات استهلاك AGP. إذا تم استهلاك مكتبتك من قِبل برنامج غير متوافق وإعداد البيانات الوصفية AAR، تظهر للمستخدمين رسالة خطأ رسالة لمساعدتهم في حل المشكلة.
اختيار قيمة minCompileSdk
بدءًا من الإصدار 4.1، يدعم AGP
minCompileSdk
يشير هذا إلى الحد الأدنى
compileSdk
التي يمكن للمشروعات
المستهلكة استخدامها. إذا كانت مكتبتك تحتوي على إدخالات بيان أو
تستخدم سمات حديثة للنظام الأساسي، عليك
اضبط هذه القيمة.
يمكن ضبط قيمة minCompileSdk
في defaultConfig{}
،
وحدات productFlavors{}
وbuildTypes{}
في build.gradle
على مستوى الوحدة
الملف:
Groovy
android { defaultConfig { aarMetadata { minCompileSdk = 29 } } productFlavors { foo { ... aarMetadata { minCompileSdk = 30 } } } }
Kotlin
android { defaultConfig { aarMetadata { minCompileSdk = 29 } } productFlavors { register("foo") { ... aarMetadata { minCompileSdk = 30 } } } }
إذا ضبطت minCompileSdk
في أماكن متعددة، ستمنح Gradle الأولوية للإعدادات.
والمواقع على النحو التالي أثناء عملية الإنشاء:
buildTypes{}
productFlavors{}
defaultConfig{}
في المثال السابق، حيث يتم تعريف minCompileSdk
في كليهما
تم منح الأولوية لـ "defaultConfig{}
" و"productFlavors{}
" و"productFlavors{}
".
وminCompileSdk
وهي مضبوطة على 30.
لمعرفة المزيد حول كيفية الاستفادة من Gradle تعطي الأولوية للإعدادات عند الجمع بين الرمز البرمجي والموارد. يُرجى مراجعة القسم إنشاء باستخدام المصدر مجموعات.
تفعيل تركيبات الاختبار
تجهيزات الاختبار تُستخدم عادةً لإعداد الرمز البرمجي الذي يتمّ اختباره أو تسهيل إجراء اختبارات المكون. بدءًا من الإصدار 7.1، أصبح بإمكان AGP إنشاء تجهيزات اختبار للمكتبة بالإضافة إلى مشروعات التطبيقات والميزات الديناميكية.
يجب إنشاء مكتبة ليستعرضها الآخرون عند نشرها.
وتجهيزات واجهة برمجة التطبيقات. يمكن تشغيل تركيبات الاختبار في مستوى الوحدة
ملف build.gradle
:
Groovy
android { testFixtures { enable = true } }
Kotlin
android { testFixtures { enable = true } }
عند تشغيل تركيبات الاختبار، تُنشئ أداة Gradle تلقائيًا
تم ضبط مصدر واحد (src/testFixtures
) على المكان الذي يمكنك من خلاله كتابة تجهيزات الاختبار.
لمزيد من المعلومات، ارجع إلى وثائق Gradle حول استخدام تركيبات الاختبار.