لمزيد من المعلومات، يُرجى الاطّلاع على ضبط إصدار JDK.
لغة Kotlin DSL هي الإعداد التلقائي لإعدادات الإنشاء
تستخدم المشاريع الجديدة الآن لغة Kotlin DSL (build.gradle.kts) بشكل تلقائي لإعداد عملية الإنشاء. يوفّر ذلك تجربة تعديل أفضل من Groovy DSL
(build.gradle) من خلال تمييز البنية وملء الرموز البرمجية والتنقّل إلى
التعريفات. يُرجى العلم أنّه في حال استخدام AGP 8.1 وKotlin DSL لإعداد عملية الإنشاء، عليك استخدام Gradle 8.1 للحصول على أفضل تجربة. لمزيد من المعلومات،
اطّلِع على دليل نقل البيانات في Kotlin DSL.
إتاحة اللغة تلقائيًا حسب التطبيق
بدءًا من الإصدار 7 من Android Studio Giraffe Canary والإصدار 8.1.0-alpha07 من AGP، يمكنك
ضبط تطبيقك لتفعيل إعدادات اللغة المفضّلة
على مستوى التطبيق تلقائيًا. استنادًا إلى موارد
مشروعك، ينشئ المكوّن الإضافي لنظام Gradle المتوافق مع Android ملف LocaleConfig ويُضيف مرجعًا إليه في ملف البيان النهائي، ما يغنيك عن
إجراء ذلك يدويًا. يستخدم AGP الموارد في مجلدات res لوحدات تطبيقك
وأي ملحق لوحدة مكتبة لتحديد اللغات المطلوب تضمينها فيملف
LocaleConfig.
تجدر الإشارة إلى أنّ ميزة اللغة التلقائية لكل تطبيق متوافقة مع التطبيقات التي تعمل بالإصدار 13 من نظام التشغيل Android (المستوى 33 لواجهة برمجة التطبيقات) أو الإصدارات الأحدث. لاستخدام الميزة، يجب ضبط
compileSdkVersion على 33 أو أعلى. لضبط الإعدادات المفضّلة للغة حسب التطبيق
في الإصدارات السابقة من Android، لا يزال عليك
استخدام واجهات برمجة التطبيقات وأدوات اختيار اللغة داخل التطبيق.
لتفعيل ميزة توفير اللغة تلقائيًا لكل تطبيق، حدِّد لغة تلقائية:
في مجلد res الخاص بوحدة التطبيق، أنشئ ملفًا جديدًا باسم
resources.properties.
في ملف resources.properties، اضبط اللغة التلقائية باستخدام
التصنيف unqualifiedResLocale. لإنشاء أسماء اللغات، اجمع
رمز اللغة مع الرموز الاختيارية للغة والمناطق، مع الفصل بين كلٍّ
منها بشرطة:
اللغة: استخدِم رمز ISO 639-1 المكوَّن من حرفَين أو ثلاثة أحرف.
المنطقة (اختيارية): استخدِم رمز ISO 3166-1-alpha-2 المكوّن من حرفَين
أو رمز UN_M.49 المكوّن من ثلاثة أرقام.
على سبيل المثال، إذا كانت اللغة التلقائية هي الإنجليزية الأمريكية:
unqualifiedResLocale=en-US
تُضيف أداة AGP هذه اللغة التلقائية وأي
لغات محلية بديلة
حدّدتها، باستخدام أدلة values-* في مجلد res، إلىملفLocaleConfig الذي تم إنشاؤه تلقائيًا.
تكون ميزة توفير اللغات تلقائيًا لكل تطبيق غير مفعّلة تلقائيًا. لتفعيل الميزة،
استخدِم الإعداد generateLocaleConfig في كتلة androidResources {} منملفbuild.gradle.kts على مستوى الوحدة (ملفbuild.gradle إذا كنت تستخدم
Groovy):
يحتوي Android Lint على رمز برمجي يستهدف الإصدار 17 من Java Virtual Machine
بدءًا من الإصدار AGP 8.1.0-alpha04، يحتوي Android Lint على رمز برمجي يستهدف JVM
17. إذا كنت تكتب عمليات تحقّق مخصّصة من الأخطاء النحوية، عليك إجراء عملية الترجمة باستخدام JDK 17 أو إصدار أحدث،
وحدِّد jvmTarget = '17' في خيارات مترجم Kotlin.
اعتبارًا من الإصدار AGP 8.1.0-alpha10، سيظهر لك تحذير في حال عدم ضبط
ضغط المكتبة الأصلية باستخدام لغة DSL بدلاً من البيان. توضِّح الإرشادات التالية كيفية تعديل الإعدادات لاستخدام لغة الترميز DSL. للحصول على مساعدة بشأن إجراء هذه التعديلات، استخدِم "مساعِد ترقية AGP"
(الأدوات > مساعِد ترقية AGP).
لاستخدام المكتبات الأصلية غير المضغوطة، عليك إزالة السمة android::extractNativeLibs
من البيان وإضافة الرمز البرمجي التالي إلى ملف build.gradle.kts (ملف build.gradle إذا كنت تستخدم Groovy) على مستوى الوحدة:
يؤدي تفعيل هذا الخيار بدون تحديد إعدادات توقيع إلى استخدام AGP لإعدادات توقيع تصحيح الأخطاء التلقائية عند تشغيل إصدار قابل للتحليل أو قابل لتصحيح الأخطاء. تكون هذه العلامة غير مفعّلة تلقائيًا لتشجيع صنّاع الإصدارات على
الإفصاح عن إعدادات توقيع ملف الإصدار المحدّدة لتحليل الأداء.
android.experimental.library.desugarAndroidTest
AGP 8.0
false
تتيح هذه العلامة لصنّاع المكتبات تفعيل إزالة رمز مكتبة الأساس لملف APK
الاختبار بدون التأثير في حزمة AAR التي تم إنشاؤها، على سبيل المثال من خلال فحص الأخطاء.
نخطّط لإتاحة هذا السلوك في Variant API في نهاية المطاف.
إذا كان هذا الخيار مفعّلاً، تسمح ميزة "الأجهزة المُدارة في Gradle" بتحديد نوع جهاز
مخصّص من قِبل المستخدم يمكن أن يقدّمه مكوّن إضافي. يجب تفعيل هذه العلامة إذا أردت
استخدام المكوّن الإضافي لـ "مركز الاختبار الافتراضي لمنصّة Firebase".
android.lint.printStackTrace
AGP 8.0
false
في حال تفعيل أداة Android lint، تطبع أداة تتبع تسلسل استدعاء الدوال البرمجية في حال حدوث عطل. تمتلك هذه العلامة
الإمكانات نفسها التي يمتلكها متغيّر البيئة LINT_PRINT_STACKTRACE.
يحدِّد الحد الأقصى لعدد الأجهزة المُدارة باستخدام Gradle
(AVD) المتزامنة التي يجب أن تكون نشطة في أي وقت. إذا كانت القيمة 0 أو
سالبة، لا يكون هناك حد أقصى لعدد الأجهزة.
[AGP 8.1.0] تعذّر تنفيذ الأمر ./gradlew test وظهور الرسالة "تعذّر العثور على ناتج البيان" إذا كانت كل من القيمتَين splits.abi.isEnable وtestOptions.unitTests.isIncludeAndroidResources صحيحتَين
يتعذّر على R8 إكمال عملية التحويل بظهور رسالة الخطأ "تم العثور على قيمة غير محدّدة أثناء عملية التحويل" لملف play-services-measurement-21.3.0-runtime.jar
الإصدار 8.1.3 من المكوّن الإضافي لنظام Gradle المتوافق مع Android
[AGP 8.1.0] تعذّر تنفيذ الأمر ./gradlew test وظهور الرسالة "تعذّر العثور على ناتج البيان" إذا كانت كل من القيمتَين splits.abi.isEnable وtestOptions.unitTests.isIncludeAndroidResources صحيحتَين
عدم تنفيذ مهمة تحويل DEX على فئات المشاريع الفرعية عندما تكون قد تم تحويلها من خلال عمليات تحويل العناصر
يخضع كل من المحتوى وعيّنات التعليمات البرمجية في هذه الصفحة للتراخيص الموضحّة في ترخيص استخدام المحتوى. إنّ Java وOpenJDK هما علامتان تجاريتان مسجَّلتان لشركة Oracle و/أو الشركات التابعة لها.
تاريخ التعديل الأخير: 2024-11-15 (حسب التوقيت العالمي المتفَّق عليه)
[[["يسهُل فهم المحتوى.","easyToUnderstand","thumb-up"],["ساعَدني المحتوى في حلّ مشكلتي.","solvedMyProblem","thumb-up"],["غير ذلك","otherUp","thumb-up"]],[["لا يحتوي على المعلومات التي أحتاج إليها.","missingTheInformationINeed","thumb-down"],["الخطوات معقدة للغاية / كثيرة جدًا.","tooComplicatedTooManySteps","thumb-down"],["المحتوى قديم.","outOfDate","thumb-down"],["ثمة مشكلة في الترجمة.","translationIssue","thumb-down"],["مشكلة في العيّنات / التعليمات البرمجية","samplesCodeIssue","thumb-down"],["غير ذلك","otherDown","thumb-down"]],["تاريخ التعديل الأخير: 2024-11-15 (حسب التوقيت العالمي المتفَّق عليه)"],[],[]]