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

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

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

  • כיסוי בדיקות רחב יותר במערך גדול יותר של מכשירים אמיתיים
  • יותר זמן לפתרון בעיות תאימות של אפליקציות
  • יותר הזדמנויות לפתור בעיות תאימות ב-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, המכשיר תומך באופן מלא ב-ערכת פיתוח מקומית לספק (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, ולכן תשתמשו בסוג arm64 של GSI.

הורדת קובצי GSI

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

התקנה של GSI

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

שליחת משוב

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

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

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