שימוש במכשירים וירטואליים של Android Emulator

אתם יכולים להשתמש באמולטור של Android כדי ליצור הדמיות של מכשירי Android שמריצים תמונות מערכת מותאמות אישית של Android. בנוסף, אפשר להוסיף תמיכה בתצוגה מרובת מסכים לאמולציות של Android Emulator.

ארכיטקטורה של אמולטור Android

‫Android Emulator מריץ את מערכת ההפעלה Android במכונה וירטואלית שנקראת Android Virtual Device (מכשיר וירטואלי של Android,‏ AVD). כל AVD מכיל את חבילת התוכנה המלאה של Android, והוא פועל כאילו הוא במכשיר פיזי. איור 1 ממחיש את הארכיטקטורה ברמה גבוהה של Android Emulator. מידע נוסף על האמולטור זמין במאמר בנושא הפעלת אפליקציות באמולטור של Android.

ארכיטקטורה של אמולטור Android.

איור 1. ארכיטקטורה של אמולטור Android.

יצירת תמונות AVD

כל מכשיר AVD כולל תמונה של מערכת Android שפועלת במכשיר ה-AVD הזה. הכלי AVD Manager כולל כמה תמונות מערכת. אתם יכולים ליצור תמונות מערכת של AVD בהתאמה אישית מקוד המקור שלכם, וליצור אמולציות של מכשירים כדי להריץ אותן.

כדי ליצור ולהריץ תמונה של מערכת AVD:

  1. מורידים את המקור של Android:

    mkdir aosp-android-latest-release; cd aosp-android-latest-release
    repo init -u
    repo sync -j24

אם רוצים ליצור גרסאות אחרות של Android, אפשר למצוא את שמות הענפים שלהן במאגר Android הציבורי. הם ממופים לשמות קוד, תגים ומספרי Build של Android.

  1. יצירת קובץ אימג' של מערכת AVD. זהו אותו תהליך כמו יצירת תמונת מערכת של מכשיר Android. לדוגמה, כדי ליצור מכשיר וירטואלי של Android‏ (AVD) ב-x86 64-bit:

    source ./build/envsetup.sh
    lunch sdk_phone_x86_64
    make -j32
  2. מריצים את קובץ האימג' של מערכת AVD ב-Android Emulator:

    emulator

פרטים נוספים על הרצת האמולטור זמינים במאמר בנושא אפשרויות הפעלה של שורת הפקודה. איור 2 מציג דוגמה של אמולטור Android שמריץ AVD:

אמולטור Android שמריץ מכשיר וירטואלי של Android‏ (AVD).

איור 2. אמולטור Android שמריץ מכשיר וירטואלי של Android‏ (AVD).

שיתוף תמונות מערכת של מכשירי AVD כדי שאחרים יוכלו להשתמש בהן ב-Android Studio

כדי לשתף את תמונות המערכת של AVD עם אחרים, פועלים לפי ההוראות הבאות. הם יכולים להשתמש בתמונות המערכת של מכשירי ה-AVD עם Android Studio כדי לפתח ולבדוק אפליקציות.

  1. יצירת חבילות נוספות של sdk ושל sdk_repo:

    ב-Android מגרסה 13 ואילך, משתמשים בפקודה emu_img_zip:

    $ make emu_img_zip
    

    המערכת יוצרת קובץ sdk-repo-linux-system-images-eng.[username]].zip.

    בגרסה 12 של Android ובגרסאות קודמות, משתמשים בפקודה sdk_repo:

    $ make -j32 sdk sdk_repo
    

    הפקודה make sdk sdk_repo יוצרת שני קבצים בתיקייה aosp-android-latest-release/out/host/linux-x86/sdk/sdk_phone_x86:

    • sdk-repo-linux-system-images-eng.[username].zip
    • repo-sys-img.xml
  2. מאחסנים את הקובץ sdk-repo-linux-system-images-eng.[username].zip במקום שנגיש למשתמשים, ומקבלים את כתובת ה-URL שלו כדי להשתמש בה ככתובת ה-URL של תמונת המערכת של AVD.

  3. ב-Android מגרסה 12 ומטה, עורכים את repo-sys-img.xml בהתאם:

    • מעדכנים את <sdk:url> לכתובת ה-URL של תמונת המערכת של AVD.
    • במאמר sdk-sys-img-03.xsd יש מידע על עדכונים אחרים בקובץ.
    • מאחסנים את repo-sys-img.xml במקום שנגיש למשתמשים, ומקבלים את כתובת ה-URL שלו כדי להשתמש בה ככתובת URL מותאמת אישית של אתר עדכונים.

כדי להשתמש באימג' מותאם אישית של AVD, מבצעים את הפעולות הבאות ב-SDK Manager:

  1. מוסיפים את כתובת ה-URL של אתר עדכון בהתאמה אישית כאתר עדכון SDK.

    תמונת המערכת המותאמת אישית של ה-AVD תתווסף לדף System Images (תמונות מערכת).

  2. יוצרים AVD על ידי הורדה ובחירה של קובץ מערכת AVD בהתאמה אישית.

הוספת תמיכה בתצוגה מרובת מסכים

‫Android 10 משפר את התמיכה במספר מסכים כדי לתמוך טוב יותר בתרחישי שימוש נוספים, כמו מצב אוטומטי ומצב מחשב. בנוסף, Android Emulator תומך באמולציה של תצוגה מרובת מסכים. כך תוכלו ליצור סביבה ספציפית עם כמה מסכים בלי להגדיר את החומרה בפועל.

כדי להוסיף תמיכה במספר מסכים ל-AVD, אפשר לבצע את השינויים הבאים או לבחור מתוך רשימת השינויים הזו.

  • מוסיפים את ספק התצוגה המרובה ל-build על ידי הוספת השורות האלה לקובץ build/target/product/sdk_phone_x86.mk:

    PRODUCT_ARTIFACT_PATH_REQUIREMENT_WHITELIST := \
        system/lib/libemulator_multidisplay_jni.so \
        system/lib64/libemulator_multidisplay_jni.so \
        system/priv-app/MultiDisplayProvider/MultiDisplayProvider.apk \
    PRODUCT_PACKAGES += MultiDisplayProvider
    
  • כדי להפעיל את תכונת הדגל Multi-Display, מוסיפים את השורה הבאה לקובץ device/generic/goldfish/data/etc/advancedFeatures.ini:

    MultiDisplay = on
    

במקורות הבאים אפשר למצוא את התכונות העדכניות של האמולטור ומידע על הגרסה: