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