إنشاء تطبيقك من سطر الأوامر

يمكنك تنفيذ جميع مهام الإصدار المتاحة لمشروع Android باستخدام أداة سطر الأوامر برنامج تضمين Gradle. من المهم ويتوفر كملف دفع لنظام التشغيل Windows (gradlew.bat) وواجهة لنظامي التشغيل Linux وMac (gradlew.sh)، وهو يمكن الوصول إليه من جذر كل مشروع تنشئه باستخدام "استوديو Android".

لتشغيل مهمة باستخدام برنامج تضمين، يمكنك استخدام أحد الأوامر التالية من نافذة المحطة الطرفية (من Android Studio، انقر على عرض > نافذة الأدوات >) المحطة الطرفية):

  • على Windows Command Shell:
    gradlew task-name
  • في نظام التشغيل Mac أو Linux أو Windows PowerShell:
    ./gradlew task-name

للاطّلاع على قائمة بجميع مهام الإصدار المتاحة لك لتنفيذ tasks، يجب تنفيذ tasks:

gradlew tasks

تصف بقية هذه الصفحة أساسيات إنشاء تطبيقك وتشغيله باستخدام برنامج تضمين Gradle. لمزيد من المعلومات حول كيفية إعداد إصدار Android، راجع إعداد التصميم الخاص بك.

إذا كنت تفضّل استخدام أدوات "استوديو Android" بدلاً من سطر الأوامر يُرجى الاطّلاع على إنشاء تطبيقك وتشغيله.

لمحة عن أنواع الإصدارات

يتوفّر تلقائيًا نوعان من الإصدارات لكل تطبيق Android: أحدهما لتصحيح الأخطاء في تطبيقك، أي إصدار تصحيح الأخطاء، وإصدار واحد لإصدار تطبيقك للمستخدمين—إصدار الإصدار. الإخراج الناتج من كل أن يتم توقيعه باستخدام شهادة قبل أن تتمكن من نشر التطبيق على الخاص بك. يتم توقيع إصدار تصحيح الأخطاء تلقائيًا باستخدام مفتاح تصحيح أخطاء يوفّره أدوات حزمة تطوير البرامج (SDK) (هذه الأدوات غير آمنة ولا يمكنك استخدامها في النشر على Google Play) Google Store)، ويجب توقيع إصدار الإصدار باستخدام مفتاحك الخاص.

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

يمكنك أيضًا تحديد نوع إصدار مخصّص في "build.gradle.kts". وتهيئته ليتم توقيعه على أنه إصدار لتصحيح الأخطاء من خلال تضمين debuggable true لمزيد من المعلومات راجِع ضبط صيغ الإصدار.

إنشاء حِزمة APK ونشرها

على الرغم من أنّ إنشاء حِزمة تطبيق هو أفضل طريقة تطبيقك في حزمة وتحميله إلى Play Console، فإن إنشاء حزمة APK أفضل هذا الخيار مناسب عندما تريد اختبار إصدار مخصّص لتصحيح الأخطاء أو مشاركة تطبيقك بسرعة. كأداة قابلة للنشر مع الآخرين.

إنشاء حزمة APK لتصحيح الأخطاء

لاختبار التطبيق وتصحيح الأخطاء فورًا، يمكنك إنشاء حزمة APK لتصحيح الأخطاء. يتم توقيع حزمة APK لتصحيح الأخطاء باستخدام مفتاح تصحيح أخطاء توفّره أدوات حزمة تطوير البرامج (SDK) تسمح بتصحيح الأخطاء من خلال adb.

لإنشاء حزمة APK لتصحيح الأخطاء، افتح سطر أوامر وانتقِل إلى جذر ملف APK. دليل المشروع. لبدء عملية إصدار لتصحيح الأخطاء، عليك استدعاء طريقة مهمة واحدة (assembleDebug):

gradlew assembleDebug

سيؤدي هذا الإجراء إلى إنشاء ملف APK باسم "module_name-debug.apk" في project_name/module_name/build/outputs/apk/ سبق أن تم توقيع الملف باستخدام مفتاح تصحيح الأخطاء وتمت محاذاته مع zipalign، وبالتالي يمكنك تثبيته فورًا على الجهاز.

أو لإنشاء حزمة APK وتثبيتها فورًا على محاكي قيد التشغيل أو جهاز متصل، وبدلاً من ذلك استدعِ installDebug:

gradlew installDebug

قسم "تصحيح الأخطاء" جزء في أسماء المهام أعلاه هو مجرد هي نسخة حالة جمل من اسم خيار الإصدار، بحيث يمكن استبداله بأي نوع إصدار أو المتغير الذي تريد تجميعه أو تثبيته. على سبيل المثال، إذا كان لديك "عرض توضيحي" لنكهة المنتج، فيمكنك حينئذٍ إنشاء إصدار تصحيح الأخطاء باستخدام مهمة واحدة (assembleDemoDebug).

للاطّلاع على جميع مهام الإصدار والتثبيت المتاحة لكل صيغة (بما في ذلك إلغاء تثبيت المهام)، شغِّل مهمة tasks.

ويمكنك أيضًا الاطّلاع على القسم المتعلّق بكيفية تشغيل تطبيقك على المحاكي وتشغيل تطبيقك على أحد الأجهزة.

إنشاء حِزمة إصدار أو حِزمة APK

عندما تكون مستعدًا لإصدار تطبيقك وتوزيعه، يجب إنشاء حزمة الإصدار أو حزمة APK التي تم توقيعها باستخدام مفتاحك الخاص. لمزيد من المعلومات انتقِل إلى القسم حول كيفية توقيع تطبيقك من سطر الأوامر.

نشر تطبيقك على المحاكي

لاستخدام محاكي Android، يجب إنشاء حدث Android افتراضي. الجهاز (AVD) باستخدام "استوديو Android"

بعد الحصول على متوسّط مدة المشاهدة، ابدأ تشغيل محاكي Android وثبِّت على النحو التالي:

  1. في سطر الأوامر، انتقل إلى عليك android_sdk/tools/ وتشغيل المحاكي من خلال لتحديد متوسّط مدة المشاهدة:

    emulator -avd avd_name

    إذا لم تكن متأكدًا من اسم AVD، يمكنك تنفيذ emulator -list-avds

  2. يمكنك الآن تثبيت تطبيقك باستخدام إحدى مهام تثبيت Gradle ورد ذكره في القسم المتعلق بكيفية إنشاء حِزمة APK لتصحيح الأخطاء أو adb.

    إذا تم إنشاء حزمة APK باستخدام حزمة SDK لمعاينة المطوّرين (إذا كانت سمة targetSdkVersion حرف بدلا من رقم)، يجب تضمين خيار واحد (-t) باستخدام الأمر install لتثبيت حِزمة APK تجريبية.

    adb install path/to/your_app.apk
    

    تم حفظ جميع حِزم APK التي تنشئها project_name/module_name/build/outputs/apk/

لمزيد من المعلومات، يُرجى الاطّلاع على تشغيل التطبيقات على محاكي Android.

نشر تطبيقك على جهاز فعلي

قبل تشغيل تطبيقك على أحد الأجهزة، يجب تفعيل USB لتصحيح الأخطاء على جهازك. يمكنك العثور على الخيار ضمن الإعدادات > خيارات المطوّرين

ملاحظة: في الإصدار 4.2 من نظام التشغيل Android والإصدارات الأحدث، يتم إخفاء خيارات المطوّرين تلقائيًا. لجعلها متاحة، انتقل إلى الإعدادات > لمحة عن الهاتف والنقر على إنشاء الرقم سبع مرات. يُرجى الرجوع إلى الشاشة السابقة للعثور على خيارات المطوّرين:

بعد إعداد جهازك وتوصيله عبر USB، يمكنك تثبيت تطبيقك. باستخدام إما مهام تثبيت Gradle المذكورة في القسم المتعلق بكيفية إنشاء حزمة APK لتصحيح الأخطاء أو أداة adb:

adb -d install path/to/your_app.apk

تم حفظ جميع حِزم APK التي تنشئها project_name/module_name/build/outputs/apk/

لمزيد من المعلومات، يُرجى مراجعة تشغيل التطبيقات على جهاز

إنشاء حِزمة تطبيق

تتضمن مجموعة حزمات تطبيق Android جميع رموز برمجية وموارد مجمعة، ولكن مع تأجيل إنشاء ملفات APK وتسجيل الدخول إلى Google اللعب. على عكس حزمة APK، لا يمكنك نشر حِزمة تطبيق مباشرةً على أحد الأجهزة. إذا أردت اختبار ملف APK أو مشاركته بسرعة مع مستخدم أخرى، يجب عليك بدلاً من ذلك إنشاء APK.

تتمثل أسهل طريقة لإنشاء حِزمة تطبيق في باستخدام "استوديو Android" ومع ذلك، إذا كنت بحاجة إلى إنشاء apppack من سطر الأوامر، يمكنك إجراء ذلك باستخدام أداة Gradle أو bundletool، كما هو موضَّح في الأقسام أدناه.

إنشاء حِزمة تطبيق باستخدام Gradle

إذا كنت تفضّل إنشاء حِزمة تطبيق من سطر الأوامر، شغِّل bundleVariant مهمة Gradle في الوحدة الأساسية في تطبيقك على سبيل المثال، ينشئ الأمر التالي حِزمة تطبيق لإصدار تصحيح الأخطاء. الوحدة الأساسية:

./gradlew :base:bundleDebug

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

إذا أردت بدلاً من ذلك توقيع حِزمة تطبيق كخطوة منفصلة، يمكنك استخدام jarsigner لتوقيع حِزمة التطبيق من سطر الأوامر. أمر إنشاء تطبيق الحزمة هي:

jarsigner -keystore pathToKeystore app-release.aab keyAlias

إنشاء حِزمة تطبيق باستخدام أداة packagetool

bundletool هي أداة سطر الأوامر التي يوفّرها "استوديو Android"، وهو نظام Gradle المتوافق مع Android إضافي وGoogle Play لتحويل التعليمات البرمجية الخاصة بالتطبيق الموارد إلى حِزم تطبيقات وإنشاء حِزم APK قابلة للنشر من تلك الحِزم.

لذلك، في حين أنه من المفيد اختبار حِزم التطبيقات باستخدام "bundletool" وإعادة إنشاء حِزم التطبيقات على الجهاز طريقة إنشاء Google Play لحِزم APK، فلن تحتاج عادةً إلى عليك استدعاء bundletool لإنشاء حزمة التطبيق نفسها، بل عليك بدلاً من ذلك استخدام "استوديو Android" أو مهام Gradle كما هو موضح في الأقسام السابقة.

ومع ذلك، إذا كنت لا تريد استخدام "استوديو Android" أو مهام Gradle لإنشاء الحزم: مثلاً، في حال استخدام سلسلة أدوات إنشاء مخصّصة، يمكنك استخدام bundletool من سطر الأوامر لإنشاء حزمة تطبيق من رمز برمجي تم تجميعه مسبقًا الموارد. إذا لم تكن قد قمت بذلك بالفعل، يُرجى تنزيل bundletool من مستودع GitHub.

يصف هذا القسم طريقة تجميع الموارد والرموز البرمجية المجمّعة لتطبيقك. وكيفية استخدام bundletool من سطر الأوامر لتحويله إلى مجموعة حزمات تطبيق Android.

إنشاء البيان والموارد بتنسيق Proto

تتطلب "bundletool" معلومات معيّنة عن مشروع تطبيقك، مثل بيان التطبيق والموارد، ليكون في تنسيق Protocol Buffer من Google يُعرف أيضًا باسم "البروتوبوف" وتستخدم امتداد الملف *.pb. النماذج الأوّلية توفير آلية محايدة لغة ومحايدة في النظام الأساسي وقابلة للتوسُّع لإنشاء تسلسل للبيانات المنظَّمة - فهو يشبه XML، ولكنه أصغر وأسرع أكثر بساطة.

تنزيل AAPT2

يمكنك إنشاء ملف البيان وجدول الموارد لتطبيقك من خلال Protobuf باستخدام أحدث إصدار من AAPT2 من مستودع Google Maven.

لتنزيل AAPT2 من مستودع Maven التابع لشركة Google، اتّبِع الخطوات التالية:

  1. انتقل إلى com.android.tools.build > aapt2 في فهرس المستودع
  2. انسخ اسم أحدث إصدار من AAPT2.
  3. أدرِج اسم النسخة التي نسختها في عنوان URL التالي وحدِّد نظام التشغيل المستهدف: https://dl.google.com/dl/android/maven2/com/android/tools/build/aapt2/aapt2-version/aapt2-aapt2-version-[windows | linux | osx].jar

    على سبيل المثال، لتنزيل الإصدار 3.2.0-alpha18-4804415 لنظام التشغيل Windows، عليك المستخدم: https://dl.google.com/dl/android/maven2/com/android/tools/build/aapt2/3.2.0-alpha18-4804415/aapt2-3.2.0-alpha18-4804415- -Windows.jar

  4. انتقِل إلى عنوان URL في متصفّح، ومن المفترض أن يبدأ تنزيل AAPT2 بعد فترة قصيرة.

  5. ألغِ حزمة ملف JAR الذي نزّلته للتو.

استخدِم AAPT2 لتجميع موارد تطبيقك باستخدام الأمر التالي:

aapt2 compile \
project_root/module_root/src/main/res/drawable/Image1.png \
project_root/module_root/src/main/res/drawable/Image2.png \
-o compiled_resources/

خلال مرحلة الارتباط، حيث تربط AAPT2 مواردك المجمعة المختلفة في حزمة APK واحدة، يجب توجيه AAPT2 لتحويل بيان تطبيقك والموارد التي تم تجميعها في تنسيق Protobuf من خلال تضمين علامة --proto-format، كما هو موضح أدناه:

aapt2 link --proto-format -o output.apk \
-I android_sdk/platforms/android_version/android.jar \
--manifest project_root/module_root/src/main/AndroidManifest.xml \
-R compiled_resources/*.flat \
--auto-add-overlay

يمكنك بعد ذلك استخراج المحتوى من ملف APK الناتج، مثل ملف APK AndroidManifest.xml وresources.pb وملفات موارد أخرى - الآن بتنسيق Protobuf. تحتاج إلى هذه الملفات عند إعداد الإدخال يتطلب bundletool إنشاء حِزمة تطبيقك، على النحو الموضَّح في ما يلي .

التعليمات البرمجية والموارد المجمّعة مسبقًا

قبل استخدام bundletool لإنشاء حِزمة تطبيق لتطبيقك، يجب: قدم أولاً ملفات ZIP يحتوي كل منها على التعليمات البرمجية والموارد المجمّعة وحدة التطبيق المحددة. يختلف محتوى وتنظيم ملف ZIP لكل وحدة عن يشبه تنسيق مجموعة حزمات تطبيق Android. على سبيل المثال، عليك إنشاء ملف base.zip للوحدة الأساسية في تطبيقك تنظيم محتوياتها على النحو التالي:

ملف أو دليل الوصف
manifest/AndroidManifest.xml بيان الوحدة بتنسيق Protobuf.
dex/... هو دليل يحتوي على ملف أو أكثر من ملفات DEX التي تم تجميعها في تطبيقك. هذه الملفات يجب تسميتها على النحو التالي: classes.dex، classes2.dex وclasses3.dex وغير ذلك
res/... يحتوي على موارد الوحدة بتنسيق Protobuf لجميع الأجهزة الإعدادات. يجب تنظيم الأدلة الفرعية والملفات على غرار حزمة APK النموذجية.
root/... وassets/... وlib/... وتكون هذه الأدلة مماثلة لتلك الموضحة في القسم الذي يتناول تنسيق حِزمة تطبيق Android
resources.pb جدول مراجع تطبيقك بتنسيق Protobuf

بعد إعداد ملف ZIP لكل وحدة في تطبيقك، يمكنك تمريرها. إلى bundletool لإنشاء حِزمة تطبيقك، كما هو موضَّح في القسم التالي.

إنشاء حِزمة تطبيقك باستخدام أداة bundletool

لإنشاء حِزمة تطبيقك، يمكنك استخدام الأمر bundletool build-bundle باعتباره كما هو موضح أدناه:

bundletool build-bundle --modules=base.zip --output=mybundle.aab

يوضّح الجدول التالي علامات الأمر build-bundle بمزيد من الشرح التفاصيل:

إبلاغ الوصف
--modules=path-to-base.zip, path-to-module2.zip,path-to-module3.zip تحدِّد هذه السياسة قائمة ملفات الوحدات بتنسيق ZIP التي على bundletool. استخدامها لإنشاء حزمة التطبيق.
--output=path-to-output.aab تحدِّد المسار واسم الملف لملف الناتج *.aab.
--config=path-to-BundleConfig.json لتحديد المسار إلى ملف إعداد اختياري يمكنك استخدامه تخصيص عملية التصميم. لمزيد من المعلومات، راجِع القسم حول تخصيص إنشاء حِزم APK التي تظهر أثناء تنزيل التطبيق.
--metadata-file=target-bundle-path:local-file-path توجيه bundletool لتجميع ملف بيانات وصفية اختياري داخل حِزمة التطبيق. يمكنك استخدام هذا الملف لتضمين بيانات، مثل عمليات ربط ProGuard أو القائمة الكاملة لملفات DEX في تطبيقك، والتي قد أن تكون مفيدة للخطوات الأخرى في سلسلة الأدوات أو متجر التطبيقات.

تحدّد الدالة target-bundle-path مسارًا نسبةً إلى جذر حزمة التطبيق التي تريد وضع ملف البيانات الوصفية فيها، ويحدّد local-file-path المسار إلى البيانات الوصفية المحلية نفسه.

تخصيص إنشاء حِزم APK للتنزيل

تتضمن حِزم التطبيقات ملف BundleConfig.pb يوفّر البيانات الوصفية لهذا التطبيق. المتاجر، مثل Google Play، عند إنشاء ملفات APK من الحزمة. على الرغم من أنّ bundletool ينشئ هذا الملف نيابةً عنك، يمكنك إعداد بعض الجوانب. من البيانات الوصفية في ملف BundleConfig.json ونقلها إلى bundletool build-bundle - يتم لاحقًا تحويل هذا الأمر ودمجه من قِبل "bundletool" يتضمّن إصدار Protobuf المُضمَّن في كل حِزمة تطبيق.

على سبيل المثال، يمكنك التحكّم في فئات حِزم APK للإعداد المطلوب تفعيلها أو تعطيل. المثال التالي لملف BundleConfig.json غير مفعَّل تهيئة APK يستهدف كل منها لغة مختلفة (أي، يتم تضمين الموارد لجميع اللغات في القواعد أو حِزم APK للميزات):

{
  "optimizations": {
    "splitsConfig": {
      "splitDimension": [{
        "value": "LANGUAGE",
        "negate": true
      }]
    }
  }
}

في ملف BundleConfig.json، يمكنك أيضًا تحديد أنواع الملفات التي تريد مغادرتها. غير مضغوط عند إنشاء حزم APK باستخدام الأنماط الضخمة على النحو التالي:

{
  "compression": {
    "uncompressedGlob": ["res/raw/**", "assets/**.uncompressed"]
  }
}

ضع في اعتبارك أنه بشكل تلقائي لا يضغط bundletool النسخة الأصلية من تطبيقك والمكتبات (على الإصدار Android 6.0 أو الإصدارات الأحدث) والموارد جدول (resources.arsc). للحصول على وصف كامل لما يمكنك ضبطه في BundleConfig.json، افحص bundletool config.proto ، والذي تمت كتابته باستخدام Proto3 وبناء الجملة.

نشر تطبيقك من حِزمة تطبيق

إذا أنشأت حزمة تطبيق ووقّعت عليها استخدام bundletool لإنشاء ملفات APK ونشرها على أحد الأجهزة.

توقيع التطبيق من سطر الأوامر

لا تحتاج إلى "استوديو Android" لتوقيع تطبيقك. يمكنك توقيع تطبيقك من سطر الأوامر، باستخدام apksigner لملفات APK أو jarsigner لحِزم التطبيقات، أو قم بتهيئة Gradle لتوقيعه نيابة عنك أثناء الإنشاء. في كلتا الحالتين، تحتاج إلى عليك أولاً إنشاء مفتاح خاص باستخدام keytool, كما هو موضح أدناه:

keytool -genkey -v -keystore my-release-key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias my-alias

يطلب منك المثال أعلاه إدخال كلمات مرور لملف تخزين المفاتيح والمفتاح، "الاسم المميز" الحقول لمفتاحك. ثم تنشئ ملف تخزين مفاتيح باسم my-release-key.jks، وحفظه في الدليل الحالي (يمكنك نقله إلى أي مكان تريده). ملف تخزين المفاتيح يحتوي على مفتاح واحد صالح لمدة 10000 يوم.

يمكنك الآن توقيع حزمة APK أو حِزمة التطبيق يدويًا أو ضبط أداة Gradle للتوقيع تطبيقك أثناء عملية التصميم كما هو موضّح في الأقسام أدناه.

وقِّع تطبيقك يدويًا من سطر الأوامر.

إذا كنت تريد توقيع حِزمة تطبيق من سطر الأوامر، يمكنك استخدام jarsigner. إذا أردت توقيع حزمة APK بدلاً من ذلك، عليك استخدام zipalign وapksigner. كما هو موضح أدناه.

  1. فتح سطر أوامر: من "استوديو Android"، اختَر عرض > نوافذ الأدوات > تطبيق Terminal: وانتقِل إلى الدليل الذي يتضمّن ملف APK الذي لم يتم توقيعه. الموقع.
  2. محاذاة حزمة APK غير الموقَّعة باستخدام zipalign:

    zipalign -v -p 4 my-app-unsigned.apk my-app-unsigned-aligned.apk
    

    تضمن zipalign أن تبدأ جميع البيانات غير المضغوطة محاذاة بايت معينة مع بداية الملف، والتي قد لتقليل مقدار ذاكرة الوصول العشوائي التي يستهلكها التطبيق.

  3. وقِّع حزمة APK باستخدام مفتاحك الخاص باستخدام apksigner:

    apksigner sign --ks my-release-key.jks --out my-app-release.apk my-app-unsigned-aligned.apk
    

    يؤدي هذا المثال إلى إخراج ملف APK الموقَّع على my-app-release.apk. بعد توقيعه باستخدام مفتاح خاص وشهادة مخزنة في ملف KeyStore واحد: my-release-key.jks.

    تتيح أداة apksigner استخدام خيارات توقيع أخرى، بما في ذلك توقيع ملف APK باستخدام مفتاح خاص وملفات شهادة منفصلة، توقيع حزمة APK باستخدام موقِّعين متعددين. لمزيد من التفاصيل، يُرجى الاطّلاع على apksigner. المرجع.

    ملاحظة: لاستخدام أداة apksigner، يجب: تثبيت الإصدار 24.0.3 أو أعلى من أدوات إنشاء حزمة تطوير البرامج (SDK) لنظام التشغيل Android. يمكنك تعديل هذه الحزمة باستخدام أداة إدارة حِزم تطوير البرامج (SDK).

  4. التحقُّق من توقيع حزمة APK:

    apksigner verify my-app-release.apk
    

يُرجى إعداد Gradle لتوقيع تطبيقك.

افتح ملف build.gradle.kts على مستوى الوحدة وأضف جزء signingConfigs {} مع إدخالات لـ storeFile، storePassword وkeyAlias keyPassword، ثم تمرير هذا الكائن إلى فندق signingConfig في نوع التصميم. مثلاً:

Kotlin


android {
    ...
    defaultConfig { ... }
    signingConfigs {
        create("release") {
            // You need to specify either an absolute path or include the
            // keystore file in the same directory as the build.gradle file.
            storeFile = file("my-release-key.jks")
            storePassword = "password"
            keyAlias = "my-alias"
            keyPassword = "password"
        }
    }
    buildTypes {
        getByName("release") {
            signingConfig = signingConfigs.getByName("release")
            ...
        }
    }
}

رائع

android {
    ...
    defaultConfig { ... }
    signingConfigs {
        release {
            // You need to specify either an absolute path or include the
            // keystore file in the same directory as the build.gradle file.
            storeFile file("my-release-key.jks")
            storePassword "password"
            keyAlias "my-alias"
            keyPassword "password"
        }
    }
    buildTypes {
        release {
            signingConfig signingConfigs.release
            ...
        }
    }
}

الآن، عند إنشاء تطبيقك باستخدام يستدعي Gradle مهمة Gradle، فإن Gradle يوقّع تطبيقك (ويشغل zipمحاذاة) نيابة عنك.

بالإضافة إلى ذلك، لأنّك ضبطت إصدار الإصدار باستخدام مفتاح التوقيع، "تثبيت" متاحة لنوع التصميم هذا. لذلك يمكنك إنشاء البيانات ومواءمتها وتثبيت حِزمة APK للإصدار على محاكي أو جهاز، وكل ذلك يتضمن مهمة واحدة (installRelease).

هناك تطبيق تم توقيعه باستخدام مفتاحك الخاص جاهز للتوزيع، ولكن عليك يُرجى أولاً الاطّلاع على مزيد من المعلومات حول كيفية نشر تطبيقك ومراجعة قائمة التحقّق الخاصة بإطلاق Google Play.