מאמרי עזרה

שליטה באמולטור לפיתוח אפליקציות דינמיות

משך הקריאה: 2 דקות
צפייה בפרופיל של Rob Orgiu
Rob Orgiu מהנדס/ת ליחסי מפתחים

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

ובכן, כן… ולא! ‫Android Studio כולל את Resizable Emulator (אמולטור עם אפשרות לשינוי גודל) כדי לאפשר לכם לבדוק פריסות באופן ידני, אבל יש דרך מהירה ויעילה יותר לשלוט בגורמי צורה ישירות מהטרמינל. באמצעות קיצור הדרך adb emu, אפשר להשתמש בפקודות קונסולה מסוג fire-and-forget כדי להריץ פקודות שמחזירות את השליטה באופן מיידי למעטפת שקראה להן. 

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

adb -s <serial> emu <command> <parameter>

קודם כל: קיפול ופריסה

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

adb emu fold

אם האמולטור המתקפל פתוח, אפשר לקפל אותו כדי להציג את הגדרת תצורה של המסך הקטן יותר ולהפעיל את המסך החיצוני (הווירטואלי). כדי לפתוח את האמולטור ולהפעיל את המסך הפנימי, פשוט מריצים את הפקודה:

adb emu unfold

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

סיבוב, סיבוב, סיבוב

טיפול נכון בשינויים בכיוון התצוגה הוא אבן דרך בפיתוח אפליקציות שמותאמות לשינויים. אתם יכולים להפעיל שינויים בכיוון המסך של המכשיר באופן פרוגרמטי כדי לבדוק עד כמה האפליקציה שלכם מטפלת בשינויים בהגדרות, כולל שחזור מצב. הפקודה הבאה מסובבת את המכשיר ב-90 מעלות בכיוון השעון:

adb emu rotate

סימולציה של תנוחות באמצעות חיישנים

מה לגבי הצבת האמולטור בתנוחה פיזית ספציפית, כמו מצב שולחני? הגישה הכי פשוטה היא לשלוח שאילתה לגבי מספר המיקומים הזמינים באמצעות .

קודם כול, מפרטים את כל החיישנים הזמינים ואת הסטטוס הנוכחי שלהם:

adb emu posture

הפונקציה מחזירה רשימה של מיקומים שדומה לרשימה הבאה:

Usage: "posture <posture_id>" 1: closed	2: half-opened	3: opened	…

אחר כך אפשר להפעיל את המצב השולחני באמצעות המזהה של המכשיר כשהוא פתוח בחצי:

adb emu posture 2
הערה: לא כל המכשירים הווירטואליים תומכים בכל התנוחות. תבניות AVD רגילות כמו Pixel Fold או AVD שניתן לשינוי גודל תומכות רק במצבים 1 , 2 ו-3 . ניסיון להגדיר 4 או 5 בתבניות האלה יחזיר שגיאה:KO: Failed to set posture error.

מה לגבי אמולטור שניתן לשינוי גודל?

התכונה המיוחדת של האמולטור שניתן לשינוי גודל היא היכולת לשנות את הגודל שלו בקלות. באמצעות הפקודה adb emu, אפשר להזיז אותו באופן חופשי באמצעות פקודה אחת. כדי לבצע שינויים, צריך לבצע רק קריאה אחת כדי לשאול על הגדרות קבועות מראש זמינות לשינוי גודל:

adb emu resize-display

תחזור רשימה של המתנות הזמינות:

KO usage: "resize-display <index>" 0: phone	1: unfolded	2: tablet

עכשיו, הפעלת הפרמטר resize-display עם המזהה הרצוי תשנה את הגודל של האמולטור לגודל הרצוי:

adb emu resize-display 1

כדאי לייעל את הבדיקות כבר היום

זה הכול! שילוב של פקודות מסוג fire-and-forget בתהליך העבודה של שורת הפקודה חוסך הרבה זמן ומשאבים בהשוואה להרצה של כמה אמולטורים בו-זמנית.

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

נכתב על ידי:
להמשך קריאה