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

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

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

אמולטור Android מריץ את מערכת ההפעלה Android במכונה וירטואלית שנקראת מכשיר וירטואלי של 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

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

אמולטור Android שמריץ AVD.

איור 2. אמולטור Android שמריץ AVD.

שיתוף תמונות מערכת של מכשיר וירטואלי של Android כדי שאחרים יוכלו להשתמש בהן ב-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
    
  • כדי להפעיל את ה-feature flag של Multi-Display (תצוגה מרובת מסכים), מוסיפים את השורה הבאה לקובץ device/generic/goldfish/data/etc/advancedFeatures.ini:

    MultiDisplay = on
    

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