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

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

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

בעזרת האפליקציה Android Emulator אפשר להריץ אמולציות של מכשירי Android ב-Windows, מכונות macOS או Linux. אפליקציית 'אמולטור Android' מפעילה את מערכת ההפעלה Android במכונה וירטואלית שנקראת מכשיר וירטואלי של Android (AVD). ה-AVD מכיל את תוכנת Android המלאה סטאק, והיא פועלת כאילו היו במכשיר פיזי. איור 1 הוא תרשים של אמולטור Android את הארכיטקטורה המתקדמת. לקבלת מידע נוסף על האמולטור: הפעלת אפליקציות באמולטור Android

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

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

יצירת תמונות 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.

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

    mkdir aosp-main; cd aosp-main
    source ./build/envsetup.sh
    lunch sdk_phone_x86
    make -j32
    

    אם מעדיפים ליצור גרסת AVD של 64 ביט מסוג x86, מריצים את הפקודה lunch כדי להגדיר את היעד של 64 ביט:

    lunch sdk_phone_x86_64
    
  3. מריצים את תמונת המערכת של ה-AVD באמולטור Android:

    emulator
    

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

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

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

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

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

  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 שלו שתשמש כ-AVD כתובת ה-URL של תמונת המערכת.

  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 בהתאמה אישית.

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

10 Android משפרים את המודעות לרשת מרובת מסכים (MD) כדי לספק תמיכה טובה יותר בתרחישים לדוגמה, כמו מצב אוטומטי ומחשב. במכשירי Android האמולטור תומך גם באמולציה מרובת מסכים. אז אפשר ליצור רשת מרובת מסכים בלי להגדיר את החומרה האמיתית.

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

  • כדי להוסיף ל-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
    
  • הפעלת התכונה הניסיונית לכמה מסכים על ידי הוספת השורה הזו לקובץ device/generic/goldfish/data/etc/advancedFeatures.ini:

    MultiDisplay = on
    

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