כדי לפרסם את האפליקציה ב-Google Play, צריך ליצור גרסת הפצה של האפליקציה כקובץ Android App Bundle, לחתום עליה באמצעות מפתח ההעלאה ולהעלות אותה ל-Play Console. בדף הזה מוסבר איך להגדיר חתימה על גרסה בפרויקט Lightbuild וליצור חבילת אפליקציה חתומה באמצעות ה-CLI של Lightbuild.
יצירת מפתח העלאה
מערכת Google Play משתמשת בחתימת אפליקציה ב-Play כדי לחתום על קובצי ה-APK שהיא מספקת למשתמשים, ואתם חותמים על קובצי ה-App Bundle שאתם מעלים באמצעות מפתח העלאה. אם עדיין אין לכם מַפתח העלאה, אתם יכולים ליצור אחד באמצעות keytool, שכלול ב-JDK:
keytool -genkey -v -keystore upload-keystore.jks -keyalg RSA -keysize 2048 -validity 10000 -alias upload
שורת הפקודה מבקשת סיסמאות למאגר המפתחות ולמפתח, ואז יוצרת קובץ של מאגר מפתחות בשם upload-keystore.jks בספרייה הנוכחית.
שומרים את מאגר המפתחות במיקום מאובטח מחוץ לפרויקט, ולא בודקים אותו בניהול הגרסאות. מידע נוסף זמין במאמר בנושא חתימת האפליקציה.
הגדרת חתימה על גרסאות
בקובץ lightbuild.yaml של מודול האפליקציה, מוסיפים בלוק signing לפרופיל release ב-packaging. במקום לכתוב את הסיסמאות בקובץ, צריך להפנות למשתני סביבה באמצעות התחביר ${NAME}:
android:
packaging:
release:
signing:
storeFile: "${RELEASE_STORE_FILE}"
storePassword: "${RELEASE_STORE_PASSWORD}"
keyAlias: "${RELEASE_KEY_ALIAS}"
keyPassword: "${RELEASE_KEY_PASSWORD}"
כשאתם יוצרים build, Lightbuild קורא כל ערך ממשתנה הסביבה שלו, כך שהסיסמאות לא נשמרות בקובצי הפרויקט. מידע נוסף על ההגדרות האלה זמין בקטע אריזה במאמר העזר בנושא הגדרות Lightbuild.
הגדרת משתני הסביבה
לפני שיוצרים את ה-build, מגדירים את משתני הסביבה בטרמינל שבו מריצים את ה-CLI של Lightbuild. לדוגמה, ב-macOS או ב-Linux:
export RELEASE_STORE_FILE="$HOME/keystores/upload-keystore.jks"
export RELEASE_STORE_PASSWORD="KEYSTORE_PASSWORD"
export RELEASE_KEY_ALIAS="upload"
export RELEASE_KEY_PASSWORD="KEY_PASSWORD"
ב-Windows, ב-PowerShell:
$env:RELEASE_STORE_FILE = "$HOME\keystores\upload-keystore.jks"
$env:RELEASE_STORE_PASSWORD = "KEYSTORE_PASSWORD"
$env:RELEASE_KEY_ALIAS = "upload"
$env:RELEASE_KEY_PASSWORD = "KEY_PASSWORD"
מחליפים את KEYSTORE_PASSWORD ואת KEY_PASSWORD בסיסמאות שלכם. במערכת CI, מאחסנים את הסיסמאות כסודות וחושפים אותן ל-build כמשתני סביבה.
יוצרים קובץ App Bundle חתום
לפני כל גרסה, מגדילים את ההגדרה versionCode בקובץ lightbuild.yaml של מודול האפליקציה, ומעדכנים את versionName לפי הצורך. בכל העלאה, Google Play דורש קוד גרסה גבוה יותר. מידע נוסף זמין במאמר הגדרת גרסה לאפליקציה.
כדי ליצור את ה-App Bundle החתום של הגרסה, מריצים את הפקודה:
lightbuild build app:app-release.aab
Lightbuild כותב את החבילה ב-app/build/app-release.aab. כדי לראות איפה כל אחד מהיעדים של מודול האפליקציה כותב את הפלט שלו, מריצים את הפקודה lightbuild query app/... --output=files.
העלאת האפליקציה ל-Google Play
מעלים את ה-App Bundle החתום ל-Play Console. כדי לבדוק את האפליקציה לפני שמפיצים אותה למשתמשים, צריך קודם להעלות אותה למסלול לבדיקה פנימית. מידע נוסף זמין במאמר העלאת האפליקציה ל-Play Console.
מומלץ בשבילך
- הערה: טקסט הקישור מוצג כש-JavaScript מושבת
- פיתוח פרויקטים של Lightbuild משורת הפקודה
- הפניה להגדרות של Lightbuild
- מאמרי עזרה על Lightbuild CLI