אתם יכולים להשתמש באמולטור של Android כדי ליצור הדמיות של מכשירי Android שמריצים תמונות מערכת מותאמות אישית של Android. בנוסף, אפשר להוסיף תמיכה בתצוגה מרובת מסכים לאמולציות של Android Emulator.
ארכיטקטורה של אמולטור Android
Android Emulator מריץ את מערכת ההפעלה Android במכונה וירטואלית שנקראת Android Virtual Device (מכשיר וירטואלי של 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-release
repo init -u
repo sync -j24
אם רוצים ליצור גרסאות אחרות של Android, אפשר למצוא את שמות הענפים שלהן במאגר Android הציבורי. הם ממופים לשמות קוד, תגים ומספרי Build של Android.
יצירת קובץ אימג' של מערכת AVD. זהו אותו תהליך כמו יצירת תמונת מערכת של מכשיר Android. לדוגמה, כדי ליצור מכשיר וירטואלי של Android (AVD) ב-x86 64-bit:
source ./build/envsetup.sh
lunch sdk_phone_x86_64
make -j32
מריצים את קובץ האימג' של מערכת AVD ב-Android Emulator:
emulator
פרטים נוספים על הרצת האמולטור זמינים במאמר בנושא אפשרויות הפעלה של שורת הפקודה. איור 2 מציג דוגמה של אמולטור Android שמריץ AVD:
איור 2. אמולטור Android שמריץ מכשיר וירטואלי של 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
.בגרסה 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
מאחסנים את הקובץ
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
כדי להפעיל את תכונת הדגל Multi-Display, מוסיפים את השורה הבאה לקובץ
device/generic/goldfish/data/etc/advancedFeatures.ini
:MultiDisplay = on
במקורות הבאים אפשר למצוא את התכונות העדכניות של האמולטור ומידע על הגרסה: