תמונת מערכת גנרית (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
יש כמה דרכים לקבל GSI, בהתאם לצורכי הפיתוח שלכם:
- כדי להוריד קובצי אימג' של GSIs של Android Preview ו-GSIs של Android עם GMS, אפשר להיכנס לדף הגרסה של GSI.
כדי להוריד קובצי אימג' של GSI שנוצרו מראש ללא אפליקציות GMS, אפשר להוריד את הקובצי אימג' מהאתר של AOSP CI:
כדי ליצור GSIs של Android בלי GMS, מורידים את קוד המקור מ-AOSP ובונים את ה-GSIs.
התקנת GSI
התקנת GSI תלויה במכשיר. כדי לקבל מידע על הכלים והנהלים המדויקים, יש לעיין במסמכים של יצרן המכשיר. במכשירי Google Pixel, כמו Pixel 3 ואילך, יש כמה דרכים להתקנה:
- איך מבצעים פלאש של קובצי אימג' של GSI באופן ידני: דרישות להפעלת קובצי אימג' של GSI
- שימוש בעדכון מערכת דינמי (DSU) במכשירים שכבר פועלת בהם מערכת Android מגרסה 10 ואילך: אפשר לעיין בדף עדכוני מערכת דינמיים
שליחת משוב
GSIs נועדו לעזור לכם לאמת את האפליקציות שלכם ב-Android. אנחנו מעריכים את המשוב שלכם לגבי התמונות, הכלים והתהליך לשימוש ב-GSI במכשירים שלכם.
כדי לדווח לנו על באגים או לבקש תכונות חדשות, תוכלו להשתמש ברכיב הייעודי למעקב אחר בעיות של GSI.