תמונות מערכת גנריות (GSI)

תמונת מערכת גנרית (GSI) היא הטמעה של Android טהור עם קוד של פרויקט הקוד הפתוח של Android‏ (AOSP) שלא עבר שינוי, שאפשר להריץ במגוון מכשירי Android.

מפתחי אפליקציות יכולים להתקין ולהפעיל את ה-GSI העדכני של Android כדי לבצע בדיקות של אפליקציות במגוון מכשירי Android קיימים, וגם להשתמש ב-GSI משלבי הפצה שונים של Android OS, כולל גרסאות Developer Preview וגרסאות בטא. הוספה של GSI לתהליכי האימות והבדיקה יכולה לספק לכם כמה יתרונות נוספים:

  • כיסוי רחב יותר של בדיקות במגוון גדול יותר של מכשירים אמיתיים
  • יותר זמן לפתרון בעיות בתאימות האפליקציה
  • יותר הזדמנויות לפתור בעיות תאימות ב-Android שמדווחות על ידי מפתחי אפליקציות

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

תמיכה ב-GSI במכשירים שונים
איור 1: אפשר להתקין תמונות מערכת כלליות במגוון רחב של מכשירים, ולפעמים גם בגרסאות של Android שיצרן המכשיר לא מספק עבורן תמונת מערכת משלו.

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

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

בדיקת התאימות של המכשיר

מערכות GSI יכולות לפעול רק במכשירים עם המאפיינים הבאים:

  • תוכנת האתחול לא נעולה.
  • תאימות מלאה ל-Treble.
  • הושק עם Android 9 (API ברמה 28) ומעלה. יכול להיות שמכשירים ששודרגו ל-Android 9 מגרסה קודמת יתמכו ב-GSI ויכול להיות שלא.

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

  1. כדי לבדוק אם יש תמיכה ב-Treble, מריצים את הפקודה הבאה:

    adb shell getprop ro.treble.enabled

    אם התשובה היא false, המכשיר לא תואם ל-GSI ואין להמשיך. אם התשובה היא true, ממשיכים לשלב הבא.

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

    adb shell cat /system/etc/ld.config.version_identifier.txt \
    | grep -A 20 "\[vendor\]"

    בפלט, מחפשים בקטע [vendor] את namespace.default.isolated.

    אם הערך של המאפיין הזה הוא true, המכשיר תומך באופן מלא ב-Vendor Native Development Kit‏ (VNDK) ויכול להשתמש בכל גרסה של מערכת הפעלה GSI שהיא חדשה יותר מגרסת מערכת ההפעלה במכשיר. כשהאפשרות זמינה, מומלץ להשתמש בגרסה העדכנית ביותר של מערכת ההפעלה GSI.

    אם הערך של המאפיין הוא false, המכשיר לא תואם באופן מלא ל-VNDK, והמכשיר יכול להשתמש רק ב-GSI עבור אותה גרסת מערכת הפעלה במכשיר. לדוגמה, מכשיר עם Android 10 (גרסת API‏ 29) שלא תואם ל-VNDK יכול לטעון רק תמונת GSI של Android 10.

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

    adb shell getprop ro.product.cpu.abi

    משתמשים בפלט כדי לקבוע באיזו תמונת GSI להשתמש כשמבצעים פלאשינג למכשיר. לדוגמה, ב-Pixel 5, הפלט יציין שאדריכלות ה-CPU היא arm64-v8a, ולכן תשתמשו ב-GSI מסוג arm64.

הורדת תמונות מערכת כלליות (GSI)

יש כמה דרכים להשיג תמונות מערכת גנריות, בהתאם לצרכים שלכם בפיתוח:

התקנה של GSI

התקנת GSI תלויה במכשיר. כדי לדעת אילו כלים ופעולות בדיוק צריך, כדאי לעיין בהוראות של יצרן המכשיר. במכשירי Google Pixel, כמו Pixel 3 ומכשירים חדשים יותר, יש כמה דרכים להתקין את האפליקציה:

שליחת משוב

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

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

מקורות מידע נוספים