תמונות מערכת גנריות (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

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

התקנת GSI

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

שליחת משוב

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

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

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