אתם יכולים להשתמש באמולטור Android כדי ליצור אמולציות של מכשירי Android שמריצים תמונות מערכת מותאמות אישית של Android. בנוסף, אפשר להוסיף תמיכה במספר מסכים לאמולציות של אמולטור Android.
ארכיטקטורה של אמולטור Android
אמולטור Android מריץ את מערכת ההפעלה Android במכונה וירטואלית שנקראת מכשיר וירטואלי של Android (AVD). כל AVD מכיל את חבילת התוכנה המלאה של Android, והוא פועל כאילו הוא במכשיר פיזי. איור 1 ממחיש את הארכיטקטורה ברמה גבוהה של Android Emulator. מידע נוסף על האמולטור זמין במאמר בנושא הפעלת אפליקציות באמולטור Android.
איור 1. ארכיטקטורת אמולטור Android.
יצירת תמונות AVD
כל מכשיר AVD כולל קובץ אימג' של מערכת Android, שפועל במכשיר ה-AVD הזה. AVD Manager כולל כמה קובצי אימג' של המערכת. אתם יכולים ליצור תמונות מערכת של AVD בהתאמה אישית מקוד המקור שלכם וליצור אמולציות של מכשירים כדי להריץ אותן.
כדי ליצור ולהריץ קובץ אימג' של מערכת AVD:
מורידים את המקור של Android:
mkdir aosp-android-latest-release; cd aosp-android-latest-releaserepo init -urepo sync -j24
אם רוצים ליצור גרסאות אחרות של Android, אפשר למצוא את שמות הענפים שלהן במאגר Android הציבורי. הם ממופים לשמות קוד, תגים ומספרי Build של Android.
יוצרים קובץ אימג' של מערכת AVD. זהו אותו תהליך כמו יצירת תמונת מערכת של מכשיר Android. לדוגמה, כדי ליצור מכשיר וירטואלי של Android (AVD) מסוג x86 64-bit:
source ./build/envsetup.shlunch sdk_phone_x86_64make -j32מריצים את קובץ האימג' של מערכת AVD באמולטור Android:
emulator
פרטים נוספים על הפעלת האמולטור זמינים במאמר בנושא אפשרויות הפעלה של שורת הפקודה. איור 2 מציג דוגמה של אמולטור Android שמריץ AVD:
איור 2. אמולטור Android שמריץ AVD.
שיתוף תמונות מערכת של מכשיר וירטואלי של Android כדי שאחרים יוכלו להשתמש בהן ב-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.בגרסה 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].ziprepo-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 לדף System Images (קובצי אימג' של המערכת).
יוצרים 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
אפשר למצוא את התכונות העדכניות של האמולטור ומידע על הגרסה במקורות הבאים: