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

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

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

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

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

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

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

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

כדי ליצור ולהפעיל קובץ אימג' של מערכת AVD:

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

    mkdir aosp-main; cd aosp-main
    repo init -u
    repo sync -j24
    

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

  1. יצירת קובץ אימג' של מערכת AVD. זה אותו תהליך כמו פיתוח תמונת מערכת במכשיר Android. לדוגמה, כדי ליצור גרסת x86 של AVD בגרסת 64 ביט:

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

    emulator
    

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

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

איור 2. אמולטור 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.

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

    $ make -j32 sdk sdk_repo
    

    הפקודה make sdk sdk_repo יוצרת שני קבצים ב-aosp-main/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 המותאמת אישית לדף תמונות המערכת.

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

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

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

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

  • מוסיפים את הספק לתצוגה מרובת מסכים ל-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
    

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