תמונת מערכת גנרית (GSI) היא הטמעה של Android טהור עם קוד של פרויקט הקוד הפתוח של Android (AOSP) שלא עבר שינוי, שאפשר להריץ במגוון מכשירי Android.
מפתחי אפליקציות יכולים להתקין ולהפעיל את ה-GSI העדכני של Android כדי לבצע בדיקות של אפליקציות במגוון מכשירי Android קיימים, וגם להשתמש ב-GSI משלבי הפצה שונים של Android OS, כולל גרסאות Developer Preview וגרסאות בטא. הוספת 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, המכשיר תומך באופן מלא ב-Vendor Native Development Kit (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 ב-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 במכשירים שלך.
כדי להודיע לנו על באגים או לשלוח בקשות להוספת תכונות, צריך להשתמש ברכיב הייעודי של כלי למעקב אחרי בעיות עבור GSI.