תמונת מערכת גנרית (GSI) היא הטמעה של Android בלבד עם קוד פרויקט קוד פתוח של Android (AOSP) שלא בוצעו בו שינויים, ואפשר להריץ אותה במגוון מכשירי Android.
מפתחי אפליקציות יכולים להתקין ולהריץ את גרסת Android GSI העדכנית ביותר כדי לבצע בדיקות אפליקציות במגוון מכשירים קיימים של Android, ולהשתמש ב-GSIs משלב הפיתוח השונים של מערכת ההפעלה Android, כולל גרסאות Developer Preview ו-Beta. הוספת GSI לתהליכי האימות והבדיקה יכולה לספק לכם כמה יתרונות נוספים:
- כיסוי נרחב יותר של בדיקות בקבוצה גדולה יותר של מכשירים אמיתיים
- זמן נוסף לפתרון בעיות בתאימות האפליקציה
- הזדמנויות נוספות לתקן בעיות תאימות ב-Android שדווחו על ידי מפתחי אפליקציות
פרויקט GSI הוא קוד פתוח, והוא עוזר לשפר את הסביבה העסקית של Android באמצעות דרכים נוספות לשיפור האיכות של האפליקציה ושל מערכת ההפעלה לפני כל גרסה של Android.
GSIs כוללים את אותן פונקציות ליבה של המערכת בכל המכשירים שבהם הם מותקנים. כלומר, GSI לא כולל את ההתאמות האישיות של יצרן המכשיר. לכן אתם עשויים להיתקל בהבדלים התנהגותיים במצבים הבאים:
- אינטראקציות שכוללות את ממשק המשתמש
- תהליכי עבודה שמבקשים תכונות חומרה חדשות יותר
בדיקת התאימות של המכשיר
אפשר להשתמש ב-GSIs רק במכשירים עם המאפיינים הבאים:
- תוכנת האתחול נפרצה.
- תואם ל-Treble במלואו.
- הגרסה הופעלה עם Android 9 (רמת API 28) ואילך. יכול להיות שמכשירים ששודרגו ל-Android 9 מגרסה קודמת יתמכו ב-GSIs, ויכול להיות שלא.
כדי לקבוע אם אפשר להשתמש ב-GSI במכשיר ואילו גרסת מערכת הפעלה של GSI צריך להתקין, מבצעים את הפעולות הבאות:
כדי לבדוק אם יש תמיכה ב-Treble, מריצים את הפקודה הבאה:
adb shell getprop ro.treble.enabled
אם התשובה היא
false
, המכשיר לא תואם ל-GSIs ואין להמשיך. אם התשובה היאtrue
, ממשיכים לשלב הבא.כדי לבדוק אם יש תמיכה בגרסאות שונות, מריצים את הפקודה הבאה:
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.סוג ארכיטקטורת המעבד של GSI צריך להתאים לארכיטקטורת המעבד של המכשיר. כדי למצוא את ארכיטקטורת המעבד המתאימה לתמונת ה-GSI, מריצים את הפקודה הבאה:
adb shell getprop ro.product.cpu.abi
יש להשתמש בפלט כדי לקבוע באיזו תמונת GSI להשתמש בהבהוב של המכשיר. לדוגמה, ב-Pixel 5, הפלט יציין שהארכיטקטורה של המעבד היא
arm64-v8a
, כך שצריך להשתמש בסוגarm64
של GSI.
הורדת GSIs
יש כמה דרכים לקבל GSIs, בהתאם לצרכים שלכם בפיתוח:
- למכשירי Android Preview GSI ו-Android GSI עם GMS, צריך להוריד את התמונות מדף הגרסה של GSI.
לתמונות GSI מוכנות מראש ללא אפליקציות של GMS, מורידים את התמונות מאתר AOSP CI:
כדי לפתח את ה-GSI של Android ללא GMS, צריך להוריד את קוד המקור מ-AOSP וליצור את ה-GSI.
התקנת GSI
התקנת GSI תלויה במכשיר. עליכם לפנות ליצרן המכשיר כדי לקבל מידע על הכלים והנהלים המדויקים. במכשירי Google Pixel, כמו Pixel 3 ואילך, יש כמה דרכים להתקנה:
- איך מבצעים פלאש של קובצי אימג' של GSI באופן ידני: דרישות להפעלת קובצי אימג' של GSI
- שימוש בעדכון מערכת דינמי (DSU) במכשירים שכבר פועלת בהם מערכת Android מגרסה 10 ואילך: אפשר לעיין בדף עדכוני מערכת דינמיים
שליחת משוב
GSIs נועדו לעזור לכם לאמת את האפליקציות שלכם ב-Android. אנחנו מעריכים את המשוב שלכם לגבי התמונות, הכלים והתהליך לשימוש ב-GSI במכשירים שלכם.
כדי לדווח לנו על באגים או לבקש תכונות חדשות, תוכלו להשתמש ברכיב הייעודי למעקב אחר בעיות של GSI.