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

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

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

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

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

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

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

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

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

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

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

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

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

    adb shell getprop ro.treble.enabled

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

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

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

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

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

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

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

    adb shell getprop ro.product.cpu.abi

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

הורדת GSIs

יש כמה דרכים לקבל GSI, בהתאם לצורכי הפיתוח שלכם:

התקנת GSI

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

שליחת משוב

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

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

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