ضبط وحدة التطبيق

تصف هذه الصفحة إعدادات التطبيق المفيدة في build.gradle.kts على مستوى الوحدة. الملف. بالإضافة إلى تقديم نظرة عامة على الخصائص المهمة المحددة في ملف build.gradle.kts، تعرّف على طريقة:

  • يمكنك تغيير رقم تعريف التطبيق لإعدادات الإصدار المختلفة.
  • يمكنك تعديل مساحة الاسم بأمان بغض النظر عن معرّف التطبيق.

ضبط معرّف التطبيق

يحتوي كل تطبيق Android على معرّف تطبيق فريد يشبه Java أو حزمة Kotlin مثل com.example.myapp. ويعرِّف هذا المعرّف تطبيقك بشكلٍ فريد على وفي "متجر Google Play".

يتم تحديد معرّف التطبيق من خلال السمة applicationId في الوحدة build.gradle.kts، كما هو موضح هنا. تعديل قيمة applicationId من خلال استبدال com.example.myapp بـ معرّف التطبيق:

Kotlin

android {
    defaultConfig {
        applicationId = "com.example.myapp"
        minSdk = 15
        targetSdk = 24
        versionCode = 1
        versionName = "1.0"
    }
    ...
}

Groovy

android {
    defaultConfig {
        applicationId "com.example.myapp"
        minSdkVersion 15
        targetSdkVersion 24
        versionCode 1
        versionName "1.0"
    }
    ...
}

رغم أن معرّف التطبيق يبدو كحزمة Kotlin أو Java تقليدية. الاسم وقواعد التسمية لمعرف التطبيق أكثر تقييدًا:

  • يجب أن يحتوي على جزأين على الأقل (نقطة واحدة أو أكثر).
  • يجب أن يبدأ كل مقطع بحرف.
  • يجب أن تكون جميع الأحرف أبجدية رقمية أو شرطة سفلية [a-zA-Z0-9_].

عند إنشاء مشروع جديد في Android الاستوديو، applicationId يتم تلقائيًا تخصيص اسم الحزمة التي اخترتها أثناء الإعداد. إِنْتَ من الناحية الفنية، يمكن تبديل الموقعَين بشكل مستقلّ من وقت لآخر، ولكنّها لا يوصى به.

ننصحك بتنفيذ ما يلي عند ضبط معرّف التطبيق:

  • حافِظ على معرّف التطبيق هو نفسه مساحة الاسم. الفرق بين أن الموقعين قد يكونان مُحيرَين بعض الشيء، ولكن إذا احتفظت بهما كما هو، عليك فلا داعي للقلق.
  • لا تغيِّر معرِّف التطبيق بعد نشر التطبيق. إذا قمت بتغييره، يتعامل "متجر Google Play" مع عملية التحميل اللاحق على أنّها تطبيق جديد.
  • تحديد معرّف التطبيق بوضوح. إذا لم يكن معرّف التطبيق واضحًا محدد باستخدام السمة applicationId، فإنه يأخذ تلقائيًا على نفس كمساحة الاسم. هذا يعني أن تغيير مساحة الاسم يؤدي إلى تغيير بمعرف التطبيق، وهو عادة ليس ما تريده.

تغيير معرّف التطبيق للاختبار

تطبِّق أدوات التصميم تلقائيًا معرّف تطبيق على اختبار قياس حالة التطبيق حزمة APK تستخدم معرّف التطبيق لصيغة الإصدار المحدَّد مرفقة مع .test على سبيل المثال، ملف APK تجريبي صيغة واحدة (com.example.myapp.free) من الإصدار رقم تعريف التطبيق com.example.myapp.free.test

رغم أنّه من المفترض ألّا يكون ذلك ضروريًا، يمكنك تغيير معرّف التطبيق من خلال تحديد السمة testApplicationId في defaultConfig حظر "productFlavor"

تعيين مساحة الاسم

تتضمن كل وحدة من وحدات Android مساحة اسم تُستخدم كلغة Kotlin أو Java. اسم الحزمة لـ التي تم إنشاؤها صفّتَي R وBuildConfig.

يتم تحديد مساحة الاسم من خلال السمة namespace في الوحدة build.gradle.kts، كما هو موضح في مقتطف الرمز التالي. namespace يتم ضبطه مبدئيًا على اسم الحزمة الذي تختاره عند إنشاء مشروعك

Kotlin

android {
    namespace = "com.example.myapp"
    ...
}

Groovy

android {
    namespace "com.example.myapp"
    ...
}

أثناء إنشاء تطبيقك في حزمة التطبيق النهائية (APK)، يحدد نظام Android أدوات الإنشاء تستخدم مساحة الاسم كمساحة الاسم التي يتم إنشاؤها في تطبيقك R والتي تُستخدم للوصول إلى موارد التطبيقات. على سبيل المثال، في ملف الإصدار السابق، يتم إنشاء فئة R عند com.example.myapp.R

الاسم الذي ضبطته للسمة namespace في ملف build.gradle.kts دائمًا مع اسم الحزمة الأساسية لمشروعك، حيث تحتفظ والأنشطة ورموز التطبيقات الأخرى. يمكنك إدراج حزم فرعية أخرى في مشروعك، ولكن يجب أن تستورد هذه الملفات الفئة R باستخدام مساحة الاسم من السمة namespace.

لسير عمل أبسط، اجعل مساحة الاسم هي نفسها التطبيق، كما هي بشكل افتراضي.

تغيير مساحة الاسم

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

في هذه الحالات، قم بتغيير مساحة الاسم عن طريق تحديث السمة namespace في ملف build.gradle.kts للوحدة الخاصة بك مستقلاً عن معرّف التطبيق. قبل إجراء ذلك، تأكَّد من أنّ رقم تعريف طلبك بشكل صريح، بحيث لا يؤدي تغيير مساحة الاسم إلى تغيير معرّف التطبيق. لمزيد من المعلومات حول كيفية تأثير مساحة الاسم في معرّف التطبيق، يُرجى الاطّلاع على المقالة ضبط معرّف التطبيق.

إذا كانت لديك أسماء مختلفة للسمة namespace و Gradle applicationId، فإن نسخة أدوات التصميم معرّف التطبيق في ملف البيان النهائي لتطبيقك في نهاية الإصدار. مثلاً إذا فحصت ملف AndroidManifest.xml بعد إنشاء الإصدار، يتم ضبط السمة package على معرّف التطبيق. السمة package في البيان المدمج هي المكان الذي يعمل "متجر Google Play" ونظام Android الأساسي على تحديد تطبيقك.

تغيير مساحة الاسم للاختبار

مساحة الاسم التلقائية لمجموعتَي المصدر androidTest وtest هي مساحة الاسم الرئيسية مساحة الاسم، مع إضافة .test في نهايته. على سبيل المثال، إذا كانت قيمة السمة namespace في ملف build.gradle com.example.myapp, يتم تعيين مساحة اسم الاختبار بشكل افتراضي على com.example.myapp.test لتغيير مساحة الاسم للاختبار، استخدم testNamespace كما هو موضح في مقتطف الرمز التالي:

Kotlin

android {
    namespace = "com.example.myapp"
    testNamespace = "com.example.mytestapp"
    ...
}

Groovy

android {
    namespace "com.example.myapp"
    testNamespace "com.example.mytestapp"
    ...
}

تنبيه: لا تضبط testNamespace و namespace إلى القيمة نفسها، بخلاف ذلك مساحة الاسم حدوث تصادمات.

لمزيد من المعلومات عن الاختبارات، يمكنك الاطّلاع على اختبار التطبيقات على Android.