כדי להשתמש במכשירי Android וירטואליים (AVD), אמולטור Android תומך בממשק משתמש גרפי (GUI) ובממשק שורת פקודה (CLI). בוחרים את תהליך עבודה אופטימלי לסביבה שלכם.
- יצירה וניהול של מכשירים וירטואליים GUI הוא כלי פשוט שמוצע לרוב מפתחי האפליקציות והמשתמשים.
- הפעלת האמולטור משורת הפקודה מספק דרך גמישה למשתמשים מתקדמים ולאוטומציה. לדוגמה, כדי להשתמש כמה מזהי AVD או כדי להגדיר בדיקה רציפה ואינטגרציה רציפה (CI). כדי להתחיל, צריך לעיין במאמר את הדוגמאות כלים).
הפעלת AVD של רכב AOSP באמצעות
כדי להפעיל ולבדוק במהירות באמצעות AOSP Car AVD, צריך להשתמש בסקריפט בקוד פתוח כדי להוריד
ולהשיק גרסת build של אמולטור
ci.android.com
הסקריפט נבדק על
macOS ו-Linux.
צריך Curl כדי להשתמש בסקריפט הזה.
כדי להריץ את הסקריפט:
- מעתיקים את
launch_emu.sh
של הסקריפט המקומי שלכם, בהנחה שאתם משתמשים ב-launch_emu.sh
בתור את שם הקובץ המקומי. - יוצרים קובץ הפעלה של הסקריפט המקומי. לדוגמה, מריצים את הפקודה
chmod +x ./launch_emu.sh
. - כדי לבדוק את האפשרויות הזמינות, מריצים את הסקריפט באמצעות
./launch_emu.sh -h
. - ב-
ci.android.com
, עוברים אל הסתעפותaosp-main-throttled
ובחירת build מהזמן האחרון שבוsdk_car_x86_64
הוא ירוק. לדוגמה, 11370359. אם לא רואים את גרסת ה-build מידע, צא מחשבון Google שלך ונסה שוב. - מורידים ומתקינים את הקבצים הבינאריים הרלוונטיים לאמולטור עם מזהה ה-build. לדוגמה,
./launch_emu.sh -i -a 11370359
- לאחר מכן, אפשר להשתמש ב-
./launch_emu.sh
כדי להפעיל את הפריטים שהורדו והותקנו אמולטור (אין להשתמש באפשרויות-i
או-a
). - כדי להוריד ולהתקין מזהה build נוסף, מריצים את
./launch_emu.sh -c
כדי לנקות את Workspace ואז לחזור על שלבים 4 ו-5 למעלה.
כדי לציין אמולטור Android
אפשרויות להפעלת שורת הפקודה
כשמפעילים את האמולטור, צריך להשתמש באפשרות -v
. לדוגמה:
./launch_emu.sh -v “-cores 4 -memory 6144 -no-snapshot"
בניית AVD של רכב ב-AOSP
תהליך הפיתוח של AVD של רכב AOSP דומה לתהליך יצירת תמונות AVD לטלפון (לדוגמה, aosp_car_x86_64):
- כדי להגדיר את סביבת הפיתוח ולזהות הסתעפות,
כלים לבקרת מקור. ואז לבדוק
הורדת המקור:
ANDROID_BRANCH="android12L-release"
REPO_URL="https://android.googlesource.com/platform/manifest"
mkdir $ANDROID_BRANCH && cd $ANDROID_BRANCH && repo init -u $REPO_URL -b $ANDROID_BRANCH --partial-clone && repo sync -c -j8 - יוצרים את קובץ האימג' של ה-AVD:
. build/envsetup.sh && lunch sdk_car_x86_64-userdebug && m -j32
- להריץ את תמונת ה-AVD (לצרף עוד אפשרויות להפעלת שורת הפקודה)
לפי הצורך):
emulator &
לדוגמה:
איור 1. מסך 'אמולטור וירטואלי של Android'
הערות לגבי התהליך הזה:
- כי תהליך ה-build זהה לתהליך שנדרש כדי ליצור את Android למכשיר פיזי, מומלץ להמתין זמן מה כדי להוריד את המקור ואז לפתח אותו.
- כדי לעבוד על הסתעפויות אחרות, צריך להגדיר את
$ANDROID_BRANCH
לערך אחר הסתעפות/תג. - תמונות AVD, כמו
system.img
, נוצרות ב-$ANDROID_PRODUCT_OUT
. מידע נוסף על תמונות עיקריות זמין במאמר AVD ספריית המערכת. - לצפייה README כדי ללמוד איך משתמשים בקבצים הבינאריים של האמולטור המובְנים בעץ Android להריץ את האמולטור.
יצירת AVD של רכב
הוספה של AVD של רכב חדש כמעט זהה ל-
הוספת מכשיר חדש. לדוגמה,
1660554
נוצר AVD חדש של avd_car
.
כדי ליצור AVD של רכב:
- יוצרים חברה ותיקיות במכשיר לפי הצורך. בדוגמה הזו אנחנו משתמשים
$ANDROID_BUILD_TOP/device/google_car/avd_car
- יוצרים את קובץ ה-Makefile של המוצר,
avd_car.mk
, שמגדיר את אופן בניית ה-AVD. - יוצרים תיקייה במכשיר,
avd_car_device
, שתכלולBoardConfig.mk
וגםsource.properties
- הוספת האפשרות החדשה
makefile
והאפשרות החדשהlunch
אלAndroidProducts.mk
. - כדי ליצור ולהפעיל את ה-AVD החדש של
avd_car
:. build/envsetup.sh && lunch acar-userdebug && m -j32 && emulator &
אריזת קובץ ZIP של תמונה בפורמט AVD
אפשר לארוז ולשתף את ה-AVD עם אחרים או להשתמש בו במכשיר אחר
במחשב. שימוש ב-emu_img_zip.mk
כדי ליצור את קובץ ה-ZIP לתמונה בפורמט AVD:
- לאחר יצירת ה-AVD, הופכים את
emu_img_zip
ליעד:m emu_img_zip
- קובץ ה-ZIP של קובץ ה-AVD, עם הקידומת
sdk-repo-linux-system-images
, הוא נוצרה בתיקייה בשם$ANDROID_PRODUCT_OUT
.
פיתוח ליבה (kernel) של AVD
ליבות AVD דומות לליבות אחרות של Android בכך שכולן הן תמונות מוכנות מראש. בדרך כלל, אפשר להשתמש בתמונות הרגילות המוכנות מראש של ליבה דג זהב כמו בכל מהדורה של Android.
כדי להתנסות בשינויים בליבה (kernel):
- מריצים את סדרת ההוראות הבאה:
mkdir goldfish-kernel-54 cd goldfish-kernel-54 repo init -u https://android.googlesource.com/kernel/manifest -b common-android11-5.4 repo sync BUILD_CONFIG=common/build.config.gki.x86_64 build/build.sh BUILD_CONFIG=common-modules/virtual-device/build.config.goldfish.x86_64 build/build.sh ls -l ./out/android11-5.4/dist/
- מחליפים את קובץ ה-kernel הבינארי ב-codebase בהתאם לקובץ ה-Makefile של AVD. לדוגמה,
x86_64-vendor.mk
כוללx86_64-kernel.mk
.
קוד הליבה וההגדרה נמצאים כך:
פריט | ערך |
---|---|
סניף | common-android11-5.4 (בשימוש ב-Android 11) |
מניפסט | kernel/manifest/common-android11-5.4 |
מודולים נפוצים/מכשירים וירטואליים | kernel/common-modules/virtual-device/android11-5.4 |
ליבה | kernel/common/android11-5.4 |
יצירת פרופיל מכשיר חדש
כדי לאפשר למשתמשים ליצור AVD ספציפי ב-Android Studio AVD Manager:
יצירה וניהול של מכשירים וירטואליים
יצרני מכשירים יכולים להגדיר מפרטי חומרה משלהם, למשל גודל המסך ו-DPI,
באמצעות קובץ devices.xml
שכלול בתמונת ה-AVD.
- לדוגמה, אפשר לראות את הפרופילים של מכשירים בכלי רכב ב-
automotive.xml
. - לצורך פיתוח HMI או יצירת אב טיפוס, ניתן להוסיף מספר מכשירים לאותה תמונת AVD.
- כוללים את הקובץ בקובץ ה-ZIP של תמונות ה-AVD של ה-OEM בתיקייה
[ABI]
. לדוגמה, בתורx86_64
. - יוצרי מכשירים יכולים גם ליצור סקין של אמולטור. למשל, הגדרה של לחצני חומרה נוספים לשיפור האיכות של חוויית המשתמש. המידע הזה שימושי לא רק לתהליכי עבודה למפתחים, אלא גם למשימות אחרות כמו מחקר חוויית המשתמש. ולבדוק.
יוצרים את קובץ ה-XML של התמונה מסוג AVD
יוצרי התקנים יכולים ליצור קובץ XML של תמונה מסוג AVD כדי להוריד אותו ל-Android Studio את זה.
- לדוגמה, אפשר לעיין בקובץ ה-XML של התמונה מסוג AAOS AVD,
sys-img2-1.xml
. - יצרני מכשירים יכולים להגדיר הסכם רישיון AVD משלהם ל-OEM (יצרן ציוד מקורי) עבור משתמשי היעד שלהם (בעזרת מערכת הזכאות), עם הרישיון לאמולטור Android. במכשירי Android כאשר רישיון כזה כלול, יש לקבל את הקונצנזוס בקרב המשתמשים.
כדי ליצור את התמונה:
- מכינים קובץ ZIP של תמונה בפורמט AVD.
- מחלצים את הקובץ
${ANDROID_PRODUCT_OUT}/sdk-repo-linux-system-images-*.zip
. - צריך להוסיף את
devices.xml
לתיקייהx86_64
ואז לדחוס את הקובץ בעזרת קובץ ZIP. לדוגמה, בתורoem_avd_img_x86_64.zip
. - יש לעדכן את
oem-sys-img2-1.xml
. - מעדכנים את השם, הגודל וה-shasum של קובץ ה-ZIP (קובצי XML לדוגמה מסופקים
tools
).
לדוגמה, כדי לארח את ה-AVD ב-Google Cloud Storage, ראה יצירת קטגוריות אחסון.
כדי להעלות את ה-AVD ולהפוך אותו לנגיש באופן ציבורי: הגדרת הנתונים כציבוריים:
BUCKET_NAME="aaos-avd" gsutil mb gs://$BUCKET_NAME gsutil cp oem_avd_img_x86_64.zip gs://$BUCKET_NAME gsutil cp oem-sys-img2-1.xml gs://$BUCKET_NAME gsutil iam ch allUsers:objectViewer gs://$BUCKET_NAME
הפורמט של כתובת ה-URL של תוסף תמונות ה-AVD הוא: https://storage.googleapis.com/$BUCKET_NAME/oem-sys-img2-1.xml
.
לדוגמה, אם BUCKET_NAME הוא aaos-avd, כתובת ה-URL היא: https://storage.googleapis.com/aaos-avd/oem-sys-img2-1.xml
.
שיתוף תמונת AVD עם משתמשי Android Studio
כדי שהמשתמשים יוכלו להוריד תמונות AVD ולהשתמש ב-AVD של Android Studio, עליך לבצע את הפעולות הבאות: לספק קובץ XML של תוסף SDK. פרטים נוספים זמינים במאמר לעדכן את כלי הפיתוח המשולב (IDE) ואת ה-SDK.
כדי להוריד את ה-AVD מהרשת:
- מארחים את קובץ ה-ZIP ואת קובצי ה-XML בשרת.
- צריך לספק את כתובת ה-URL למשתמשי היעד.
- (אופציונלי) הגבלת הגישה לפי שם משתמש וסיסמה.
לחלופין, כדי לזרז את הפיתוח, ניתן להוריד את ה-AVD לספרייה מקומית:
- שומרים בתיקייה את קובצי ה-XML ואת כל פריטי המידע שנוצרו בתהליך הפיתוח (Artifact) שצוינו בקובץ ה-XML
(למשל, כל קובצי ה-ZIP של תמונות מסוג AVD) בשם
ADDON_DIR
. - צריך לציין את כתובת ה-URL בתור
file://$ADDON_DIR/oem-sys-img2-1.xml
.