אפשר להשתמש באמולטור Android כדי ליצור אמולציות של מכשירי Android שמריצים תמונות משלכם של מערכת Android. בנוסף, ניתן להוסיף תמיכה בתצוגה מרובת מסכים לאמולטורים של Android.
הארכיטקטורה של Android Emulator
באמצעות Android Emulator אפשר להריץ את מערכת ההפעלה Android במכונה וירטואלית שנקראת מכשיר וירטואלי של Android (AVD). כל מכונה וירטואלית מכילה את סטאק התוכנה המלא של Android, והיא פועלת כאילו היא במכשיר פיזי. איור 1 ממחיש את הארכיטקטורה ברמה הגבוהה של אמולטור Android. מידע נוסף על הסימולטור זמין במאמר הרצת אפליקציות בסימולטור Android.
איור 1. הארכיטקטורה של Android Emulator.
יצירת תמונות AVD
כל AVD כולל קובץ אימג' של מערכת Android, שפועל ב-AVD הזה. מנהל AVD כולל כמה קובצי אימג' של מערכת. אפשר גם ליצור תמונות מותאמות אישית של מערכת AVD מקוד המקור וליצור אמולציות של המכשיר כדי להריץ אותן.
כדי ליצור ולהפעיל קובץ אימג' של מערכת AVD:
מורידים את קוד המקור של Android:
mkdir aosp-main; cd aosp-main
repo init -u
repo sync -j24
אם רוצים ליצור גרסאות אחרות של Android, אפשר למצוא את שמות ההסתעפויות שלהן במאגר הציבורי של Android. הם ממופים אל שמות קוד, תגים ומספרי build של Android.
יצירת קובץ אימג' של מערכת AVD. זהו אותו תהליך כמו פיתוח תמונת מערכת במכשיר Android. לדוגמה, כדי ליצור גרסת x86 של AVD בגרסת 64 ביט:
source ./build/envsetup.sh
lunch sdk_phone_x86_64
make -j32
מריצים את קובץ האימג' של מערכת AVD במהדמ של Android:
emulator
פרטים נוספים על הפעלת הסימולטור מופיעים במאמר אפשרויות הפעלה בשורת הפקודה. באיור 2 מוצגת דוגמה לאמולטור Android שבו פועל AVD:
איור 2. אמולטור Android שבו פועל AVD.
שיתוף קובצי אימג' של מערכת AVD לשימוש של אחרים ב-Android Studio
פועלים לפי ההוראות הבאות כדי לשתף את קובצי האימג' של מערכת AVD עם אחרים. הם יכולים להשתמש בתמונות של מערכת ה-AVD עם Android Studio כדי לפתח אפליקציות ולבדוק אותן.
יוצרים חבילות
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
מארחים את הקובץ
sdk-repo-linux-system-images-eng.[username].zip
במקום שבו המשתמשים יכולים לגשת אליו, ומקבלים את כתובת ה-URL שלו לשימוש ככתובת ה-URL של קובץ האימג' של מערכת AVD.ב-Android מגרסה 12 ומטה, עורכים את
repo-sys-img.xml
בהתאם:- מעדכנים את
<sdk:url>
בכתובת ה-URL של קובץ האימג' של מערכת AVD. - למידע על עדכונים אחרים בקובץ, אפשר לעיין בקובץ sdk-sys-img-03.xsd.
- מארחים את
repo-sys-img.xml
במקום כלשהו שהמשתמשים יכולים לגשת אליו, ומקבלים את כתובת ה-URL שלו שתשמש ככתובת URL של אתר עדכון בהתאמה אישית.
- מעדכנים את
כדי להשתמש בתמונה מותאמת אישית של AVD, מבצעים את הפעולות הבאות ב-SDK Manager:
מוסיפים את כתובת ה-URL של האתר המותאם אישית לעדכונים בתור אתר עדכונים של SDK.
הפעולה הזו גורמת להוספת תמונת מערכת ה-AVD המותאמת אישית לדף תמונות המערכת.
יוצרים AVD על ידי הורדה ובחירה של קובץ האימג' של מערכת AVD בהתאמה אישית.
הוספת תמיכה בתצוגה מרובת מסכים
ב-Android 10 שיפורים בתצוגה בכמה מסכים כדי לתמוך טוב יותר בתרחישי שימוש נוספים, כמו מצב אוטומטי ומצב מחשב. ב-Android Emulator יש גם תמיכה באמולציה מרובת מסכים. כך תוכלו ליצור סביבה ספציפית עם כמה מסכים בלי להגדיר את החומרה האמיתית.
כדי להוסיף תמיכה במספר מסכים ל-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
אפשר למצוא את התכונות העדכניות ביותר של האמולטור ולפרסם מידע מהמקורות הבאים: