لتجهيز تطبيقك للإصدار، عليك ضبط إصدار التطبيق وإعداده واختباره. وتشمل مهام الضبط عمليات أساسية لتنظيف الرمز البرمجي وتعديله، ما يساعد في تحسين تطبيقك. وتتشابه عملية الإنشاء مع عملية إنشاء إصدار تصحيح الأخطاء، ويمكن إجراؤها باستخدام أدوات JDK وAndroid SDK.
تعمل مهام الاختبار كعملية تحقّق نهائية، ما يساعد في ضمان أداء تطبيقك على النحو المتوقّع في الظروف الواقعية. توفّر Firebase مجموعة كبيرة من أجهزة الاختبار الفعلية والافتراضية من خلال مركز الاختبار الافتراضي على Firebase التي يمكنك استخدامها لتحسين جودة تطبيقك.
عند الانتهاء من إعداد تطبيقك لإصداره، سيتوفّر لديك ملف APK موقَّع يمكنك توزيعه مباشرةً على المستخدمين أو من خلال سوق تطبيقات مثل Google Play.
يلخّص هذا المستند المهام الرئيسية التي عليك تنفيذها لإعداد تطبيقك للإصدار. تنطبق المهام الموضّحة في هذه الصفحة على جميع تطبيقات Android، بغض النظر عن طريقة طرحها أو توزيعها على المستخدمين. إذا كنت ستطرح تطبيقك من خلال Google Play، يُرجى قراءة مقالة إصدار التطبيق بثقة.
ملاحظة: كأفضل ممارسة، تأكَّد من أنّ تطبيقك يستوفي جميع معايير الإصدار من حيث الوظائف والأداء والاستقرار قبل تنفيذ المهام الموضّحة في هذه الصفحة.

الشكل 1. يُعدّ الإعداد للإصدار مهمة تطوير مطلوبة، وهو الخطوة الأولى في عملية النشر.
المهام التي يجب إكمالها قبل الإصدار
لإصدار تطبيقك للمستخدمين، عليك إنشاء حزمة جاهزة للإصدار يمكن للمستخدمين تثبيتها وتشغيلها على أجهزة Android. تحتوي الحزمة الجاهزة للإصدار على المكوّنات نفسها التي يحتوي عليها ملف APK المخصّص لتصحيح الأخطاء، مثل رمز المصدر المجمَّع والموارد وملف البيان وغير ذلك، ويتم إنشاؤها باستخدام أدوات الإنشاء نفسها. ومع ذلك، على عكس ملف APK الخاص بالتصحيح، يتم توقيع ملف APK الجاهز للإصدار باستخدام شهادتك الخاصة، كما يتم تحسينه باستخدام الأداة zipalign
.

الشكل 2. هناك خمس مهام رئيسية يجب تنفيذها لتجهيز تطبيقك للإصدار.
عادةً ما تكون مهام التوقيع والتحسين سلسة إذا كنت تنشئ تطبيقك باستخدام "استوديو Android". على سبيل المثال، يمكنك استخدام "استوديو Android" مع ملفات تصميم Gradle لتجميع تطبيقك وتوقيعه وتحسينه في آنٍ واحد. يمكنك أيضًا ضبط ملفات إنشاء Gradle لتنفيذ الإجراء نفسه عند الإنشاء من سطر الأوامر. لمزيد من التفاصيل حول استخدام ملفات Gradle، يُرجى الاطّلاع على ضبط عملية الإنشاء.
لإعداد تطبيقك للإصدار، عليك عادةً تنفيذ خمس مهام رئيسية، كما هو موضّح في الشكل 2. قد تتضمّن كل مهمة رئيسية مهمة واحدة أو أكثر من المهام الأصغر، وذلك حسب طريقة إصدار تطبيقك. على سبيل المثال، إذا كنت ستصدر تطبيقك من خلال Google Play، قد تحتاج إلى إضافة قواعد فلترة خاصة إلى ملف البيان أثناء إعداد تطبيقك للإصدار. وبالمثل، للامتثال لإرشادات النشر على Google Play، قد تحتاج إلى إعداد لقطات شاشة وإنشاء نص ترويجي أثناء جمع المواد اللازمة للإصدار.
عادةً ما تنفِّذ المهام المدرَجة في الشكل 2 بعد تصحيح أخطاء تطبيقك واختباره بشكل كامل، إذ يحتوي حِزمة تطوير البرامج (SDK) لنظام التشغيل Android على العديد من الأدوات التي تساعدك في اختبار تطبيقات Android وتصحيح أخطائها. لمزيد من المعلومات، اطّلِع على تصحيح أخطاء تطبيقك واختبار تطبيقك.
جمع المواد والمراجع
لإعداد تطبيقك للإصدار، عليك جمع العديد من العناصر الداعمة. ويشمل ذلك على الأقل مفاتيح التشفير لتوقيع تطبيقك ورمز التطبيق. يمكنك أيضًا تضمين اتفاقية ترخيص المستخدم النهائي.
مفاتيح التشفير
يتطلّب نظام التشغيل Android توقيع جميع حِزم APK رقميًا باستخدام شهادة قبل تثبيتها على جهاز أو تحديثها. في متجر Google Play، يجب أن تستخدم جميع التطبيقات التي تم إنشاؤها بعد آب (أغسطس) 2021 خدمة توقيع تطبيق Play. ومع ذلك، يتطلّب تحميل حِزمة تطبيقك بتنسيق AAB إلى Play Console توقيعها باستخدام شهادة المطوّر. لا يزال بإمكان التطبيقات القديمة توقيع نفسها، ولكن سواء كنت تستخدم ميزة "توقيع التطبيق" من Google Play أو توقّع التطبيق بنفسك، عليك توقيع تطبيقك قبل أن تتمكّن من تحميله.
لمعرفة المزيد عن متطلبات الشهادة، يُرجى الاطّلاع على مقالة توقيع تطبيقك.
ملاحظة مهمة: يجب توقيع تطبيقك باستخدام مفتاح تشفير تنتهي صلاحيته بعد 22 تشرين الأول (أكتوبر) 2033.
قد تحتاج أيضًا إلى الحصول على مفاتيح إصدار أخرى إذا كان تطبيقك يصل إلى خدمة أو يستخدم مكتبة تابعة لجهة خارجية تتطلب منك استخدام مفتاح يستند إلى مفتاحك الخاص.
رمز التطبيق
يساعد رمز تطبيقك المستخدمين في التعرّف على تطبيقك على الشاشة الرئيسية للجهاز وفي نافذة "مشغّل التطبيقات". ويظهر أيضًا في "إدارة التطبيقات" و"عمليات التنزيل" وفي أماكن أخرى. بالإضافة إلى ذلك، تعرض خدمات النشر، مثل Google Play، الرمز للمستخدمين. تأكَّد من توفُّر رمز للتطبيق ومن أنّه يستوفي إرشادات الرموز المقترَحة.
ملاحظة: إذا كنت ستطرح تطبيقك على Google Play، عليك إنشاء نسخة عالية الدقة من الرمز. لمزيد من المعلومات، يمكنك الاطّلاع على مقالة إضافة مواد عرض لمعاينة ميزات التطبيق وإبرازها.
اتفاقية ترخيص المستخدم النهائي
ننصحك بإعداد اتفاقية ترخيص للمستخدم النهائي (EULA) لتطبيقك، إذ يمكن أن تساعد هذه الاتفاقية في حماية شخصك ومؤسستك وملكية فكرية، وننصحك بتضمينها مع تطبيقك.
مواد متنوّعة
قد تحتاج أيضًا إلى إعداد مواد ترويجية وتسويقية للإعلان عن تطبيقك. على سبيل المثال، إذا كنت ستطرح تطبيقك على Google Play، عليك إعداد بعض النصوص الترويجية وإنشاء لقطات شاشة لتطبيقك. لمزيد من المعلومات، اطّلِع على مقالة إضافة مواد عرض معاينة لعرض تطبيقك.
ضبط إعدادات تطبيقك للإصدار
بعد جمع جميع المواد الداعمة، يمكنك البدء في ضبط إعدادات تطبيقك لإصداره. يقدّم هذا القسم ملخّصًا لتغييرات الإعدادات التي ننصحك بإجرائها على الرمز المصدر وملفات الموارد وبيان التطبيق قبل إصدار تطبيقك.
على الرغم من أنّ معظم تغييرات الإعدادات المُدرَجة في هذا القسم اختيارية، فإنّها تُعدّ من ممارسات الترميز الجيدة وننصحك بتنفيذها. في بعض الحالات، قد تكون أجريت هذه التغييرات في الإعدادات كجزء من عملية التطوير.
اختيار معرّف تطبيق مناسب
احرص على اختيار معرّف تطبيق مناسب طوال فترة استخدام تطبيقك، إذ لا يمكنك تغييره بعد توزيعه على المستخدمين. لضبطها، استخدِم السمة applicationId
في ملف build.gradle
أو build.gradle.kts
على مستوى الوحدة. لمزيد من المعلومات، اطّلِع على ضبط معرّف التطبيق.
إيقاف تصحيح الأخطاء
لضبط ما إذا كان يمكن تصحيح أخطاء حِزمة APK، استخدِم العلامةdebuggable
في Groovy أو العلامة isDebuggable
في نص Kotlin البرمجي:
Kotlin
android { ... buildTypes { release { isDebuggable = false ... } debug { isDebuggable = true ... } } ... }
Groovy
android { ... buildTypes { release { debuggable false ... } debug { debuggable true ... } } ... }
تفعيل تقليل حجم التطبيق وإعداده
يمكن تنفيذ العديد من عمليات التحسين التالية تلقائيًا من خلال تفعيل التصغير لإصدار تطبيقك. على سبيل المثال، يمكنك إضافة قواعد ProGuard لإزالة عبارات السجلّ، وسيحدّد المصغِّر الرموز والموارد غير المستخدَمة ويزيلها. يمكن للمصغِّر أيضًا استبدال أسماء الفئات والمتغيرات بأسماء أقصر لتقليل حجم ملف DEX بشكل أكبر.
إيقاف تسجيل الأخطاء
يجب إيقاف التسجيل قبل إنشاء تطبيقك لإصداره. يمكنك إيقاف التسجيل عن طريق إزالة استدعاءات طرق Log
في ملفات المصدر. أزِل أيضًا أي ملفات سجلّ أو ملفات اختبار ثابتة تم إنشاؤها في مشروعك.
عليك أيضًا إزالة جميع Debug
استدعاءات التتبُّع التي أضفتها إلى الرمز، مثل startMethodTracing()
واستدعاءات الطريقة stopMethodTracing()
.
ملاحظة مهمة: احرص على إيقاف تصحيح الأخطاء في تطبيقك إذا كنت تستخدم WebView
لعرض محتوى مدفوع أو إذا كنت تستخدم واجهات JavaScript، لأنّ تصحيح الأخطاء يتيح للمستخدمين إدخال نصوص برمجية واستخراج المحتوى باستخدام "أدوات مطوّري البرامج في Chrome". لإيقاف تصحيح الأخطاء، استخدِم طريقة
WebView.setWebContentsDebuggingEnabled()
.
تنظيف أدلة المشاريع
نظِّف مشروعك وتأكَّد من أنّه يتوافق مع بنية الدليل الموضّحة في نظرة عامة على المشاريع. يمكن أن يؤدي ترك ملفات غير مستخدَمة أو يتيمة في مشروعك إلى منع تجميع تطبيقك وتصرفه بشكل غير متوقّع. يجب تنفيذ مهام التنظيف التالية على الأقل:
- راجِع محتوى الدلائل
cpp/
وlib/
وsrc/
. يجب أن يحتوي الدليلcpp/
على ملفات المصدر المرتبطة فقط بحزمة تطوير البرامج الأصلية (NDK) لنظام Android، مثل ملفات المصدر C أو C++ أو ملفات العناوين أو ملفات makefile. يجب أن يحتوي الدليلlib/
على ملفات مكتبة تابعة لجهات خارجية فقط أو ملفات مكتبة خاصة، بما في ذلك المكتبات المشتركة والثابتة التي تم إنشاؤها مسبقًا. يجب أن يحتوي الدليلsrc/
على ملفات المصدر الخاصة بتطبيقك فقط (ملفات Java وKotlin وAIDL). يجب ألا يحتوي الدليلsrc/
على أي ملفات JAR. - تحقَّق من مشروعك بحثًا عن ملفات بيانات خاصة أو مملوكة لا يستخدمها تطبيقك، ثم أزِلها. على سبيل المثال، ابحث في الدليل
res/
الخاص بمشروعك عن ملفات قديمة للرسومات القابلة للرسم وملفات التنسيق وملفات القيم التي لم تعُد تستخدمها، ثم احذفها. - تحقَّق من دليل
lib/
بحثًا عن مكتبات الاختبار وأزِلها إذا لم يعُد تطبيقك يستخدمها. - راجِع محتوى الدليل
assets/
والدليلres/raw/
بحثًا عن ملفات مواد العرض الأولية والملفات الثابتة التي عليك تعديلها أو إزالتها قبل الإصدار.
مراجعة إعدادات بيان التطبيق وGradle وتعديلها
تأكَّد من ضبط عناصر ملف البيان وملف الإنشاء التالية بشكل صحيح:
- العنصر
<uses-permission>
يجب تحديد الأذونات ذات الصلة بتطبيقك والمطلوبة له فقط.
- السمتان
android:icon
وandroid:label
يجب تحديد قيم لهذه السمات، وهي متوفّرة في العنصر
<application>
. - الموقعان
versionCode
وversionName
ننصحك بتحديد قيم لهذه الخصائص، والتي تقع في ملف
build.gradle
أوbuild.gradle.kts
على مستوى وحدة التطبيق. لمزيد من المعلومات، يُرجى الاطّلاع على تحديد إصدار تطبيقك.
هناك العديد من عناصر ملفات الإصدار الإضافية التي يمكنك ضبطها إذا كنت ستطرح تطبيقك على Google Play. على سبيل المثال، السمتان minSdk
وtargetSdk
اللتان تقعان في ملف build.gradle
أو build.gradle.kts
على مستوى وحدة التطبيق. لمزيد من المعلومات حول هذه الإعدادات وغيرها من إعدادات Google Play، يُرجى الاطّلاع على مقالة الفلاتر على Google Play.
معالجة مشاكل التوافق
يوفّر Android العديد من الأدوات والأساليب لجعل تطبيقك متوافقًا مع مجموعة كبيرة من الأجهزة. لإتاحة تطبيقك لأكبر عدد من المستخدمين، ننصحك بما يلي:
- إضافة إمكانية استخدام إعدادات متعددة للشاشة
- احرص على استيفاء أفضل الممارسات المتعلّقة بتوافق التطبيق مع شاشات متعددة. من خلال توفير إمكانية استخدام إعدادات متعددة للشاشة، يمكنك إنشاء تطبيق يعمل بشكل صحيح ويبدو جيدًا على أي من أحجام الشاشات التي يتيحها نظام التشغيل Android.
- تحسين تطبيقك ليناسب الشاشات الأكبر
- يمكنك تحسين تطبيقك ليعمل بشكل جيد على الأجهزة ذات الشاشات الكبيرة، مثل الأجهزة اللوحية والأجهزة القابلة للطي. على سبيل المثال، يمكن أن تؤدي تنسيقات قائمة-تفاصيل إلى تحسين سهولة الاستخدام على الشاشات الأكبر.
- ننصحك باستخدام مكتبات Jetpack.
- Jetpack هي مجموعة من المكتبات تساعد المطوّرين على اتّباع أفضل الممارسات وتقليل الرموز النموذجية وكتابة رموز برمجية تعمل بشكل متسق على جميع إصدارات Android والأجهزة.
تعديل عناوين URL للخوادم والخدمات
إذا كان تطبيقك يصل إلى خوادم أو خدمات بعيدة، تأكَّد من استخدام عنوان URL أو مسار الإنتاج للخادم أو الخدمة وليس عنوان URL أو مسار الاختبار.
تنفيذ خدمة الترخيص في Google Play
إذا كنت ستطرح تطبيقًا مدفوعًا من خلال Google Play، ننصحك بإتاحة استخدام خدمة الترخيص في Google Play. يتيح لك الترخيص التحكّم في إمكانية الوصول إلى تطبيقك استنادًا إلى ما إذا كان المستخدم الحالي قد اشتراه أم لا. إنّ استخدام خدمة الترخيص في Google Play أمر اختياري، حتى إذا كنت ستطرح تطبيقك من خلال Google Play.
لمزيد من المعلومات حول خدمة الترخيص في Google Play وكيفية استخدامها في تطبيقك، اطّلِع على ترخيص التطبيقات.
إنشاء تطبيقك لإطلاقه
بعد الانتهاء من ضبط إعدادات تطبيقك، يمكنك إنشاء حزمة APK جاهزة للإصدار وموقّعة ومحسَّنة. تتضمّن حزمة تطوير Java أدوات لتوقيع ملف APK (أداتا Keytool وJarsigner)، بينما تتضمّن حزمة تطوير البرامج لنظام Android أدوات لتجميع ملف APK وتحسينه. إذا كنت تستخدم "استوديو Android" أو نظام الإصدار Gradle من سطر الأوامر، يمكنك تنفيذ عملية الإصدار بأكملها تلقائيًا. لمزيد من المعلومات حول ضبط إصدارات Gradle، راجِع ضبط صيغ الإصدار.
إذا كنت تستخدم نظام دمج متواصل، يمكنك إعداد مهمة لتنفيذ عملية الإصدار تلقائيًا. ولا يقتصر ذلك على إنشاء حزمة APK أو AAB للإصدار. يمكنك أيضًا ضبطه لتحميل عناصر الإصدار تلقائيًا إلى Play Console.
الإنشاء باستخدام Android Studio
يمكنك استخدام نظام الإصدار Gradle المدمج مع "استوديو Android" لإنشاء ملف APK جاهز للإصدار وموقَّع باستخدام مفتاحك الخاص ومحسَّن. للتعرّف على كيفية إعداد عمليات الإنشاء وتشغيلها من "استوديو Android"، راجِع مقالة إنشاء تطبيقك وتشغيله.
تفترض عملية الإنشاء أنّ لديك شهادة ومفتاحًا خاصًا مناسبَين لتوقيع تطبيقك. وإذا لم يكن لديك شهادة ومفتاح خاص مناسبَين، يمكن أن يساعدك Android Studio في إنشاء أحدهما. لمزيد من المعلومات حول عملية التوقيع، يُرجى الاطّلاع على مقالة توقيع تطبيقك.
إعداد الخوادم والموارد الخارجية
إذا كان تطبيقك يعتمد على خادم بعيد، تأكَّد من أنّ الخادم آمن وأنّه تم إعداده للاستخدام في مرحلة الإصدار العلني. وتكون هذه الخطوة مهمة بشكل خاص إذا كنت تستخدم الفوترة داخل التطبيق في تطبيقك وتنفّذ خطوة التحقّق من التوقيع على خادم بعيد.
بالإضافة إلى ذلك، إذا كان تطبيقك يسترد المحتوى من خادم بعيد أو خدمة في الوقت الفعلي (مثل خلاصة محتوى)، تأكَّد من أنّ المحتوى الذي تقدّمه حديث وجاهز للإصدار.
اختبار تطبيقك قبل إصداره
يساعد اختبار إصدار تطبيقك على ضمان عمل التطبيق بشكل سليم في ظل ظروف واقعية للأجهزة والشبكات. من المفترض أن تختبر تطبيقك على جهاز واحد على الأقل بحجم الهاتف وجهاز واحد بحجم الجهاز اللوحي للتأكّد من أنّ أحجام عناصر واجهة المستخدم صحيحة وأنّ أداء تطبيقك وكفاءة البطارية مقبولان. يمكن أن يكون مختبر Firebase الافتراضي مفيدًا أيضًا في إجراء الاختبارات على مجموعة متنوعة من الأجهزة المختلفة وإصدارات نظام التشغيل Android.
كنقطة بداية للاختبار، يمكنك الاطّلاع على جودة التطبيق الأساسية. عند الانتهاء من الاختبار والتأكّد من أنّ إصدار تطبيقك يعمل بشكل صحيح، يمكنك طرح تطبيقك للمستخدمين. لمزيد من المعلومات، يُرجى الاطّلاع على طرح تطبيقك للمستخدمين.