حزمة تطبيق إصدار موقَّعة
أنشئ ملف .aab ووقّعه للتوزيع
حزمة تطبيق إصدار موقَّعة درس مجاني في Jetpack Compose Academy على CoddyKit. هذا هو الدرس 3 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Jetpack Compose Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Jetpack Compose Academy 4 دروس في المجموع.
بعض أجزاء هذا الدرس لم تُترجم بعد وتظهر باللغة الإنجليزية.
From Debug to Release
Your debug builds run on your device, but the Play Store needs a release build: optimized, shrunk, and cryptographically signed by you.
AAB, Not APK
The Play Store wants an Android App Bundle (.aab), not an APK. Google generates device-specific APKs from it, so users download only what they need.
What Signing Proves
A signing key proves every update truly comes from you. Android refuses to install an update signed by a different key, which protects your users.
Create an Upload Keystore
You generate a keystore file holding your key. Guard it and its passwords carefully: lose them and you can lock yourself out of updating the app.
keytool -genkey -v \
-keystore upload.jks \
-alias uploadKeep Secrets Out of Git
Never commit passwords. Put them in gradle.properties (gitignored) or environment variables and read them in your build config.
RELEASE_STORE_PASSWORD=...
RELEASE_KEY_ALIAS=uploadConfigure the signingConfig
In build.gradle you declare a signingConfig that points to the keystore and credentials, then attach it to the release build type.
signingConfigs {
create("release") { /* keystore */ }
}Shrink with R8
Turn on minifyEnabled for release. R8 removes unused code and obfuscates names, making your bundle smaller and harder to reverse engineer.
release {
isMinifyEnabled = true
}Build the Bundle
Run the bundleRelease Gradle task. It compiles, shrinks, and signs your app, producing a release .aab ready to upload.
./gradlew bundleReleaseQuick Check
You are packaging your app for the Play Store. Which artifact should you upload?
Let Google Manage Signing
With Play App Signing, Google holds the final app signing key and you keep only an upload key. If your upload key is lost, you can reset it.
Test the Release Build
Before publishing, install the signed build via an internal testing track. R8 can break reflection, so confirm everything works in the optimized variant.
Bump Your versionCode
Every upload needs a higher versionCode than the last. The Play Store rejects duplicates, so increment it on each release before you build.
versionCode = 2
versionName = "1.1"Recap: Ready to Upload
You created a keystore, set up a signingConfig, shrank with R8, and built a signed .aab. Your app is ready for the Play Console.
الأسئلة الشائعة
هل درس «حزمة تطبيق إصدار موقَّعة» مجاني؟
نعم — نص درس «حزمة تطبيق إصدار موقَّعة» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Jetpack Compose Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Jetpack Compose Academy 4 دروس في المجموع.
ماذا ستتعلم في «حزمة تطبيق إصدار موقَّعة»؟
أنشئ ملف .aab ووقّعه للتوزيع تتمرن على Jetpack Compose Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ Jetpack Compose Academy؟
لا تُشترط خبرة سابقة. Jetpack Compose Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 3 من أصل 4.
كم من الوقت يستغرق درس «حزمة تطبيق إصدار موقَّعة»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس Jetpack Compose Academy هذا؟
نعم. كل درس في Jetpack Compose Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- إمكانية الوصول وواجهة تمتد من الحافة إلى الحافة
- ملفات التعريف الأساسية لبدء تشغيل سريع
- حزمة تطبيق إصدار موقَّعة
- بنية جاهزة لـ Compose Multiplatform