בדף הזה מופיע סיכום של התכונות העיקריות בגרסת Android 11, וקישורים למידע נוסף. סיכומי התכונות האלה מסודרים לפי המיקום של התיעוד של התכונה באתר הזה.
ארכיטקטורה
מכסות ל-API
בגרסה Android 11 הושקה התכונה 'מכסות API', שמגבילה את התדירות שבה אפליקציות יכולות לקרוא לממשקי API מסוימים. הוא מיושם רק בקריאות ל-API של JobScheduler
. כל שינוי שתבצעו במגבלות המוגדרות מראש עדיין צריך לעבור את בדיקת התאימות (CTS). אפשר להשבית ולהפעיל מכסות של API באמצעות ה-method setEnabled
ב-QuotaTracker.java
. ההגדרה מופעלת כברירת מחדל. השבתת התכונה מאפשרת לאפליקציות לקרוא לממשקי ה-API המושפעים ללא הגבלה.
במאמר הזה מפורטות בדיקות יחידה של QuotaTracker
ושל מחלקות שקשורות אליו. תיעוד מפורט מופיע בתגובות בכיתה QuotaTracker
. התכונה הזו מציגה את LimitExceededException
public API החדש.
תוכנת אתחול
גרסה 3 של כותרת האתחול
Android 11 תומכת בגרסה 3 של כותרת ההפעלה. פרטים נוספים זמינים במאמר כותרת של תמונת אתחול.
מחיצות
מחיצות אתחול
ב-Android 11 מוצג המושג Generic Kernel Image (קובץ אימג' כללי של הליבה). כדי לאפשר אתחול של מכשיר שרירותי באמצעות תמונת ליבה כללית, כל המידע הספציפי לספק מוסר ממחיצת האתחול ומועבר אל מחיצת אתחול של הספק. מכשיר שמושק עם Android 11 חייב לתמוך במחיצת vendor-boot ובפורמט המעודכן של מחיצת האתחול כדי לעבור את הבדיקות עם GKI.
כותרת האתחול של הספק
כותרת האתחול של הספק יכולה להיות ארוכה יותר מעמוד אחד.
אכיפה של ממשקי חלוקת מוצרים
ב-Android 11 הוסרה החבילה של product
המחיצה, כך שהיא לא תלויה במחיצות system
ובמחיצות של הספק. במסגרת השינויים האלה, עכשיו אפשר לשלוט בגישה של מחיצת המוצרים לממשקי Java ולממשקים מקוריים.
קובצי אימג' לשחזור
ב-Android 11 יש עדכונים לדרישות של תמונת השחזור, והיא כוללת אפשרויות חדשות שמבוססות על גרסה להכללת DTBO/ACPIO של שחזור כחלק מתמונת האתחול/השחזור. פרטים נוספים זמינים במאמר בנושא תמונות שחזור.
הפעלה מחדש של המכשיר
Android 11 תומך בהפעלה מחדש רכה, שהיא הפעלה מחדש של תהליכים בזמן הריצה במרחב המשתמש, שמשמשת להחלת עדכונים שדורשים הפעלה מחדש (לדוגמה, עדכונים לחבילות APEX).
בועה
ליבות נפוצות של Android
Android 11 כולל שינויים משמעותיים באופן הפיתוח והשילוב של ליבות נפוצות ב-Android.
מעקב אחר ABI של ליבת Android
ב-Android 11 הוספנו כלי למעקב אחרי ABI כדי לייצב את ה-ABI בתוך ליבת ליבות Android.
תמונת ליבה גנרית
ב-Android 11 הוצג Generic Kernel Image (GKI), שנועד לטפל בפיצול הליבה על ידי איחוד ליבת הליבה והעברת התמיכה ב-SoC ובלוח מחוץ לליבת הליבה למודולים שאפשר לטעון.
ליבות מודולריות
תמיכה במודול ליבה
יכול להיות שתמונת ליבה גנרית (GKI) לא תכיל את תמיכת מנהלי ההתקנים הנדרשת כדי לאפשר למכשיר לטעון מחיצות. כדי לאפשר למכשיר להעלות מחיצות ולהמשיך את האתחול, השלב הראשון של init
משופר כדי לטעון את מודולי הליבה שקיימים ב-ramdisk.
דיסק ה-RAM מחולק לדיסקי RAM כלליים ולדיסקי RAM של ספקים.
מודולי ליבת הספק מאוחסנים ב-ramdisk של הספק. אפשר להגדיר את הסדר שבו מודולי הליבה נטענים.
DebugFS
ב-Android 11 הוסר התמיכה בפלטפורמה ב-DebugFS, ונדרש שלא תהיה גישה ל-DebugFS במכשירי ייצור או שהיא לא תהיה מותקנת בהם. למרות ש-DebugFS נוצר למטרות ניפוי באגים, הוא נכלל בגרסאות build של משתמשים ובגרסאות build של ניפוי באגים עבור רכיבים כלליים ורכיבים ספציפיים לספקים. הוצאה משימוש של DebugFS מתבצעת כי הוא יוצר:
ממשק API לא יציב ולא מתועד. כדי שמערכת Android תפעל בצורה תקינה, היא צריכה ממשקי ליבת לינוקס ו-HALs מוגדרים היטב ויציבים. בדיקות VTS אוכפות את הנוכחות והתקינות של הממשקים האלה. אי אפשר לאכוף את DebugFS כי ה-ABI שלו לא יציב ולא מתועד.
איכות קוד נמוכה. מכיוון שהצמתים האלה מיועדים לניפוי באגים, הם לא נבדקים ונבחנים באופן יסודי כמו הצמתים במערכות קבצים אחרות.
debugfs
כשמתגלים באגים ב-debugfs
, הם מקבלים עדיפות נמוכה יותר, מה שמוביל לפרצות אבטחה שמקורן ב-debugfs
.נקודות חולשה באבטחה. מערכת DebugFS נוצרה במטרה לעזור למפתחי ליבת מערכת להפעיל ניפוי באגים במערכת, ולא מתוך התמקדות באבטחה. אין שיטה יעילה לאימות של כל הצמתים של DebugFS שנחשפים במכשיר ייצור כמאובטחים. למרות שהידוק של SEpolicy צמצם את חומרת נקודות החולשה באבטחה שמקורן ב-
debugfs
, הדרך היחידה לבטל לחלוטין את שטח ההתקפה היא לא לאפשר הרכבה שלdebugfs
.
ב-Android 11, VTS מוודא ש-CONFIG_DEBUG_FS
לא מופעל בהגדרות של ליבת המכשיר ו-debugfs
לא מופיע בקטע /proc/filesystems
.
מטמנות ION ל-GKI
ב-Android 11, הליבה הנפוצה של Android בגרסה 5.4 מציגה מסגרת להפיכת ערימות ION ספציפיות לספק למודולריות, תוך שמירה על דרייבר הליבה של ION כרכיב מובנה. כך יצרני ציוד מקורי (OEM) יכולים לשמור על שינויים בדרייבר הליבה של ION כשהם משתמשים בתמונת ליבה גנרית (GKI).
רכיבים של מערכת מודולרית
ביטול אוטומטי של הרשאות
ב-Android 11, מודול PermissionsControllerיכול לבטל אוטומטית הרשאות בזמן ריצה לאפליקציות שלא נעשה בהן שימוש במשך תקופה ארוכה.
עדכונים של מודולים ראשיים
ב-Android 11 הוספנו כמה מודולים חדשים ועדכנו כמה מודולים קיימים שהוצגו ב-Android 10.
חבילות של שכבות-על בזמן ריצה (RRO)
Android מגרסה 11 ואילך תומך במנגנון חדש ל-RRO. השיפורים כוללים מרחב מזהים שמור למשאבים, קובץ res/xml/overlays.xml
לספירת משאבי היעד, כלל בנייה של Soong לשכבות-על וקובץ OverlayConfig
להגדרת השינוי, מצב ברירת המחדל והעדיפות של שכבות-על.
Vendor NDK
תמונות מצב של ספקים
Android 11 תומך בפריטי בנייה של VNDK snapshot וב-vendor snapshots, שאפשר להשתמש בהם כדי לבנות את vendor.img
בלי קשר לגרסת Android בעץ המקור. האפשרות הזו מאפשרת להשתמש בגרסאות מעורבות של תמונות, כמו תמונה של ספק ישן ותמונה של מערכת חדשה יותר.
אודיו
נדרשת הרשאה מיוחדת כדי להקליט אודיו ממקלט FM
ב-Android 11, מקור האודיו MediaRecorder.AudioSource.RADIO_TUNER
גלוי בתור @SystemApi, ושימוש בו בזמן הקלטת אודיו באמצעות AudioRecord
או MediaRecorder
דורש הרשאת פריבילגיה android.permission.CAPTURE_AUDIO_OUTPUT
אפקטי אודיו
החל מ-Android 11, ליצרני המכשירים יש אפשרות לצרף ולהפעיל באופן אוטומטי אפקטים ספציפיים של אודיו כשבוחרים מכשיר אודיו מסוים להקלטה או להשמעה של אודיו.
מגבלה על סוג המכשיר
ב-Android 11, הסרנו את המגבלה על מספר הסוגים של מכשירי אודיו, כדי לאפשר הוספה של סוגים חדשים של מכשירי אודיו.
הטמעה
הטמעת אודיו
ב-Android 11 יש אכיפה מחמירה יותר של יישומי HAL של הפעלת צלילים בזמן ריצה בהשוואה לגרסאות קודמות.
Automotive
פרטי הגרסה
מידע על תכונות ושיפורים חדשים ב-Automotive זמין בפרטי הגרסה של Automotive.
USB Port Reset API
יצרני מכשירים יכולים להטמיע את ה-API של איפוס יציאת ה-USB ב-Android 11 כדי לאפס את חיבור גאדג'ט ה-USB עם המארחים המחוברים.
מצלמה
אפקט בוקה במצלמה
החל מ-Android 11, פלטפורמת Android תומכת ביישומים של אפקט בוקה במצלמה ומספקת ממשקי API כדי להפוך את תכונת הבוקה לזמינה באפליקציות של צד שלישי.
זום המצלמה
ב-Android 11, אפליקציה יכולה להשתמש בזום של המצלמה (דיגיטלי ואופטי) דרך ההגדרה ANDROID_CONTROL_ZOOM_RATIO
. ההגדרה הזו היא גורם נקודה צפה שמאפשר דיוק טוב יותר בזום בהשוואה לשימוש בערכים שלמים עם ההגדרה ANDROID_SCALER_CROP_REGION
, והיא מאפשרת להקטין את התצוגה (< 1.0f).
סטרימינג ממצלמה במקביל
החל מ-Android 11, Camera2 API כולל שיטות שאפליקציות יכולות להפעיל כדי לקבוע אם המצלמות תומכות בסטרימינג בו-זמני ואילו הגדרות סטרימינג נתמכות.
שיפור התמיכה במצלמה במכשירים וירטואליים של Android
Android 11 כולל הטמעה מחודשת של Camera HAL מדומה במכשירים וירטואליים של Cuttlefish ושל Android Emulator, שמוסיפה תמיכה בתכונות נוספות של המצלמה, כולל:
- צילום בפורמט RAW
- עיבוד מחדש של YUV
- מכשירים ברמה 3
- תמיכה במצלמה לוגית
- תמיכה במצלמה עם עומק בלבד
קובץ ה-HAL של המצלמה המדומה נמצא בכתובת /platform/hardware/google/camera/devices/EmulatedCamera/hwl
.
שיטות מומלצות לשימוש בכמה מצלמות
כדי לנצל את היתרונות של התכונות שמופעלות על ידי מצלמות מרובות, תוך שמירה על תאימות האפליקציה, מומלץ לפעול לפי השיטות המומלצות הבאות כשמטמיעים מכשיר לוגי עם מצלמות מרובות. המאמר כולל שיטות מומלצות לשימוש ב-API ANDROID_CONTROL_ZOOM_RATIO
שהוצג ב-Android 11.
מצלמות מערכת
ב-Android 11 נוספה תמיכה במצלמות מערכת באמצעות ההרשאה android.permission.SYSTEM_CAMERA
. מצלמות מערכת מאפשרות לכם להטמיע תכונות של מצלמה שאפשר להשתמש בהן באפליקציות בעלות הרשאות או באפליקציות מערכת, אבל הן לא זמינות לאפליקציות ציבוריות של צד שלישי.
תאימות
מסמך ההגדרה של תאימות ל-Android 11 הוא עדכון של גרסאות קודמות, עם עדכונים לתכונות חדשות ושינויים בדרישות לפונקציונליות שפורסמה בעבר.
קישוריות
Bluetooth ו-NFC
סנכרון תשלומים ב-NFC מחוץ למארח
Android תומך באמולציית כרטיס NFC עם רכיב מאובטח לאמולציית כרטיס מחוץ למארח, אבל יכול להיות ששירות התשלום המועדף שצוין בהגדרה 'מצמידים ומשלמים' לא מסונכרן עם האפליקציה ברכיב המאובטח.
ב-Android 11 הבעיה הזו נפתרה באמצעות סנכרון תשלומים מחוץ למארח, מנגנון שמאפשר לסנכרן את הגדרות התשלום בתכונה 'הקשה לתשלום', את הגדרות הניתוב בחלק הקדמי של התשלום ללא מגע (CLF) ואת המצב שנבחר באפליקציה ברכיב המאובטח.
גישה מהירה ל-Wallet
התכונה גישה מהירה לארנק מאפשרת למשתמשים לגשת לכרטיסי תשלום ולכרטיסים רלוונטיים ישירות מתפריט ההפעלה.
שיחות והודעות
התנהגות של שיחות חירום
ב-Android 11 בוצעו שינויים באופן הטיפול בשיחות חירום, כדי לתמוך טוב יותר בדרישות של ספקי הסלולר. בהמשך מתואר אופן הטיפול בשיחות חירום:
- כשמשתמש מבצע שיחת חירום בזמן שהוא נמצא בשיחה פעילה, המכשיר מנתק אוטומטית את השיחה הפעילה או מעביר אותה להמתנה, ולא מאפשר לחזור אליה עד ששיחת החירום תנותק. זה תלוי בהגדרה של מקש
KEY_ALLOW_HOLD_CALL_DURING_EMERGENCY_BOOL
. - במהלך שיחת חירום, שיחות נכנסות נדחות אוטומטית ומוצגות למשתמש כשיחות שלא נענו. במהלך שיחת חירום פעילה, אי אפשר להוציא שיחות שאינן שיחות חירום.
- במצב 'התקשרות חזרה בחירום', אם מתקשרים למספר שאינו של שירותי חירום, המכשיר יוצא מהמצב הזה. אם מתבצעת שיחת חירום, המכשיר חוזר למצב 'התקשרות חזרה בחירום' כשהשיחה מסתיימת. שיחות נכנסות לא גורמות למכשיר לצאת ממצב התקשרות חזרה בחירום.
- אי אפשר להחליף בין שיחות חירום פעילות או להעביר אותן להמתנה.
מאגר נתונים של מספרי חירום שאפשר לעדכן
ב-Android 11 נוסף מאגר נתוני מספרי חירום שאפשר לעדכן באמצעות עדכוני OTA. מסד הנתונים מכיל רשימה של מספרי טלפון למקרי חירום עם המדינות וקטגוריות השירותים התואמות.
ספק
eSIM
תהליך הפעלת ה-eSIM דרך אפליקציית הספק
ב-Android 11, תהליך ההפעלה של פרופיל eSIM באמצעות אפליקציה של ספק השתפר. כשמשתמשים בקוד הפעלה כדי להוריד פרופיל, ה-LPA יכול להפעיל את ממשק המשתמש של אפליקציית הספק כדי לאחזר מידע נוסף מהמשתמש. אפליקציית הספק יכולה גם להפעיל את ממשק המשתמש של LUI כדי להפעיל פרופיל eSIM.
מידע נוסף זמין במאמרים הבאים:
טיפול בשגיאות ב-API של eUICC
ב-Android מגרסה 11 נוספו מפתחות וערכים כדי לשפר את הטיפול בשגיאות. כך, מי שקורא ל-eUICC API יכול לטפל בשגיאות ספציפיות בנפרד.
פרמטר האפשרויות של השיטה erase subscriptions
החל מ-Android 11, כשמשתמשים בשיטה eraseSubscriptions
ב-EuiccManager
, צריך לספק ערך של enum EuiccCardManager#ResetOption
כדי לציין אם למחוק את כל המינויים מסוג בדיקה, מסוג תפעולי או משני הסוגים.
תמיכה ברשתות של כמה ספקי סלולר
מכשירים שמופעלים עם Android 11 יכולים לספק תמיכה בכמה רשתות ציבוריות ניידות יבשתיות (PLMN). התמיכה ב-PLMN מרובים מעניקה גמישות למפעילים של רשתות סלולריות (MNO) בכך שהיא מאפשרת להם לשדר זהויות מרובות.
תמיכה בתאים קטנים
מכשירים שהושקו עם Android 11 יכולים לספק תמיכה בקבוצות מנויים סגורות (CSG) באמצעות שיטות בממשקי ה-API לזיהוי תאים שמקבלים מידע על CSG של תא. האפשרות הזו שימושית למפעילי רשתות סלולריות (MNO) שמנהלים תאים קטנים באמצעות קבוצות מנויים סגורות.
Connectivity Diagnostics API
Connectivity Diagnostics API מאפשר לאפליקציות שהן הבעלים של רשתות או שמנהלות רשתות, כמו אפליקציות של ספקי סלולר, אפליקציות VPN ואפליקציות להצעות לחיבור Wi-Fi, לקבל מהמסגרת מידע אבחוני על קישוריות לרשת.
שינויים ב-Open Mobile API
Android 11 כולל פונקציונליות נוספת ל-Open Mobile API (OMAPI):
- כללי ניתוח להרשאות של ספקי סלולר.
התאמה אישית של הגישה לרכיב מאובטח מוטמע (eSE) או הקצאת eSE באמצעות אחת מהאפשרויות הבאות או יותר:
- SECURE_ELEMENT_PRIVILEGED_OPERATION הרשאת מערכת
- מזהי אפליקציות (AID) של אפליקציית הכלל להקצאת הרשאות גישה (ARA-M) שאפשר להגדיר
-
reset
system API to reset OMAPI reader
הצגת אינדיקטור ברור לקוראים כדי לסנן את יכולות המכשיר באפליקציות.
דיווח על עוצמת האות
ב-Android 11, אפשר לבחור ולהתאים אישית כמה סוגים של מדידות אותות שהמסגרת תשתמש בהם כדי לדווח על עוצמת האות של רשתות גישה רדיו (RAN) מסוג 4G LTE ו-5G NR. לאחר מכן, תוכלו להשתמש בעוצמות האות שדווחו כדי לקבוע איך יופיעו פסי האות במכשירים.
Wi-Fi
הגדרות של רשת Wi-Fi של ספק
ב-Android 11, אפשר להשתמש ב-Wi-Fi suggestion API כדי להוסיף הגדרות של רשתות Wi-Fi של ספקי סלולר במקום להגדיר את הפרמטר carrier_wifi_string_array
במנהל ההגדרות של ספק הסלולר.
תמיכה בנקודת Wi-Fi לשיתוף אינטרנט (AP וירטואלי) לשיתוף אינטרנט בין מכשירים
ב-Android 11 הוספנו הגדרות משופרות לנקודת Wi-Fi לשיתוף אינטרנט (AP וירטואלי), כדי לספק תמיכה רחבה יותר בתרחישי שימוש ובהתאמות אישיות של ספקי סלולר. השינויים האלה מאפשרים ליצרני מכשירים להגדיר את הדברים הבאים:
- SSID ו-BSSID
- סוג אבטחה (כולל WPA3)
- SSID מוסתר
- פס הפעלה וערוץ (כולל ACS)
- מספר הלקוחות המקסימלי המותר
- הערך של הזמן הקצוב לתפוגה של כיבוי אוטומטי
- רשימת היתרים ורשימת חסימה כדי לאפשר למשתמשים לשלוט במכשירים המשויכים
שיפורים בבחירת רשת Wi-Fi
ב-Android 11 נוספו שיפורים לבחירת רשת Wi-Fi כדי לשפר את הקישוריות לרשת Wi-Fi.
שיפורים ב-Passpoint ברשת Wi-Fi
ב-Android 11 נוספו השיפורים הבאים לתכונה Passpoint:
- תמיכה בתפוגת פרופילים, שמאפשרת למערכת להודיע למשתמש ולאכוף את תאריכי התפוגה של הפרופילים. כדי לעשות זאת, צריך להגדיר פרופיל עם השדה
SubscriptionParameters/ExpirationDate
מאותחל. - תמיכה באישור CA פרטי בחתימה עצמית לפרופילים של Passpoint R1.
- תמיכה בפרופילי Passpoint R1 ללא אישור CA. המערכת משתמשת במאגר האישורים שמוגדר כברירת מחדל כדי לאמת את החיבור.
- תמיכה בהגדרה של דומיין AAA עם שם בנפרד מ-ANQP FQDN (באמצעות הצומת
Extension/Android
ב-PPS-MO). כך אפשר לציין דומיין AAA ששונה מהדומיין שמפורסם בלי לפגוע באבטחת החיבור. - תמיכה בכמה הגדרות Passpoint מותקנות עם אותו FQDN. התכונה הזו שימושית לספקי סלולר שמפעילים ברשת שלהם יותר משילוב אחד של קוד מדינה לנייד (MCC) וקוד רשת לנייד (MNC), אבל יש להם רק שם דומיין מלא (FQDN) אחד.
- אפשרות לזהות ולקבל נקודות גישה של Passpoint R3.
- התאמה משופרת של רשתות:
- תמיכה בהתאמה לספק ביתי עבור
HomeSP/HomeOIList
. - תמיכה בהתאמה לספק ביתי עבור
HomeSP/OtherHomePartners
. - הוסרה הדרישה להתאמה של שיטת EAP שלא נדרשת במפרט Passpoint.
- תמיכה בהתאמה לספק ביתי עבור
שיפור התמיכה בשם הנפוץ בפרופילי Wi-Fi
ב-Android 11, פרופילי Wi-Fi נשארים תקפים כשמשתנה רשות אישורים (CA) בסיסית של ספק, אם השם הנפוץ מצוין בעץ המשנה של התוסף האופציונלי Android
. בגרסאות קודמות, אם משתנה רשות האישורים הבסיסית, המשתמשים צריכים להוריד פרופיל חדש מהספק.
נתונים
בקרת הרשאות גישה לנתונים
ב-Android 11 הושקה בדיקת גישה לנתונים, שמאפשרת למפתחי אפליקציות לזהות טוב יותר איך האפליקציות והתלות שלהם ניגשות לנתונים פרטיים (כמו נתוני מיקום ונתוני מצלמה) של משתמשים. באפליקציות מורכבות ורב-תכליתיות, המפתחים יכולים להגדיר תגי שיוך כדי לזהות חלקים שונים באפליקציה.
מידע נוסף זמין במאמר בנושא ביקורת על גישה לנתונים.
מסך
עדכונים ב-Bubbles notification API
ב-Android 10 הושק Bubbles notification API, שמאפשר למשתמשים לבצע כמה משימות במקביל מכל מקום במכשיר. Android 11 כולל כמה שיפורים ב'בועות'. השינויים הבולטים ביותר הם הפעלת הבועות כברירת מחדל והעברת ההגדרות מתוך האפשרויות למפתחים. לא נדרשת עבודה כדי להטמיע את הבועות בפלטפורמת Android.
ממשק השליטה במכשירים
התכונה 'אמצעי בקרה למכשירים', שזמינה החל מ-Android 11, מאפשרת למשתמשים להציג ולשלוט במהירות במכשירים חיצוניים כמו מנורות, תרמוסטטים ומצלמות מתפריט ההפעלה. מצביעים על מכשירים שיוצגו במרחב הזה (למשל, Google Home) ואפליקציות של ספקים מצד שלישי. לא נדרשת עבודת הטמעה בפלטפורמה כדי לתמוך בתכונה הזו. ההטמעה שמוגדרת כברירת מחדל כלולה בממשק המשתמש של מערכת AOSP. מידע על הוספת תמיכה בפקדים של מכשירים לאפליקציית הבקרה זמין בדף שליטה במכשירים חיצוניים למפתחי Android.
עדכונים במסווג הטקסט
ב-Android 11 הוצג יישום ברירת מחדל של שירות סיווג הטקסט שאפשר לעדכן, שנמצא במודול ExtServices Mainline. מומלץ ליצרני מכשירים להשתמש בהטמעה הזו של TextClassifierService
כי אפשר לעדכן אותה באמצעות עדכוני OTA של Mainline.
Enterprise
הטמעה של סוגי משתמשים בהתאמה אישית
ב-Android 11 הוצג המושג של סוגי משתמשים מוגדרים היטב, שמייצגים את כל הסוגים השונים של משתמשים שמותרים על ידי התכונה 'משתמשים מרובים' ב-Android. התכונה הזו מאפשרת ליצרני ציוד מקורי (OEM) להתאים אישית סוגי משתמשים מוגדרים מראש ב-AOSP ולהגדיר סוגי פרופילים חדשים. מידע נוסף זמין בקטע בנושא סוגי משתמשים.
שיפורים בפרופיל העבודה
Android 11 כולל שיפורים בפרטיות ובשימושיות של פרופילי עבודה, שנועדו לתת מענה לאתגרים מרכזיים בשימושיות. חשוב מאוד ליישם את השיפורים האלה באופן עקבי בכל סביבת הפרסום.
מנהלי IT שתומכים ב-Android צריכים לתמוך בחוויית השימוש בכל מכשיר Android שהמשתמשים מביאים לעבודה. שיפור העקביות של חוויית המשתמש בתהליכי עבודה קריטיים מפחית באופן משמעותי את העלות של תמיכה ב-Android בסביבות BYOD. הטמעה עקבית של תכונות הפרטיות במכשירים שונים גם מגבירה את אמון המשתמשים. בין העדכונים:
- רשימת האפליקציות כוללת כרטיסיות נפרדות עם הכיתוב 'אישי' ו'עבודה'.
- בכרטיסייה 'עבודה' יש מתג להשבתת פרופיל העבודה.
- כשפרופיל העבודה מושבת, הסמלים של האפליקציות לעבודה הופכים לאפורים, ובכרטיסייה 'עבודה' מופיעה שכבת-על עם הכיתוב 'האפליקציות לעבודה מושהות'.
אינטראקציה
עדכונים בסביבת זמן הריצה של Context Hub
ב-Android 11 מוצג CHRE API v1.4, שכולל תמיכה במידע על תאי 5G, ב-nanoapp debug dump ובשיפורים נוספים. הוא כולל גם תמיכה בשימוש ב-TensorFlow Lite for Microcontrollers באפליקציות ננו. מידע נוסף זמין במאמר Context Hub Runtime Environment (CHRE).
מגע
Android 11 כולל מדריך חדש בנושא הטמעה של משוב הפטי והערכה של ביצועי המשוב ההפטי במכשיר.
קלט
בקרים למשחקים
ב-Android 11 נוספה תמיכה בבקרי משחקים של צד שלישי, כולל:
בקר Nintendo Switch Pro: מערכת Android מוסיפה תמיכה בחיבור USB ו-Bluetooth לבקר Nintendo Switch Pro. בדיקות CTS נדרשות לכל ההטמעות. צריך להשתמש ב-
NintendoSwitchProTest
כדי לאמת את ההטמעה.בקר Steam: ב-Android נוספה קישוריות USB לבקר Steam.
רשתות נוירונים
שיטות מומלצות
כדי לעודד מפתחי אפליקציות להשתמש ב-NNAPI, מומלץ לפעול לפי השיטות המומלצות האלה כשמטמיעים מנהל התקן של NNAPI במכשירים עם Android 11.
בקרת זרימה
ב-Android 11, NNAPI מוסיף שתי פעולות של זרימת בקרה, IF
ו-WHILE
, שמקבלות מודלים אחרים כארגומנטים ומבצעות אותם באופן מותנה (IF
) או באופן חוזר (WHILE
). כך אפשר ליצור מודלים שמבצעים פעולות שונות על סמך ערכי הקלט או מבצעים פעולות מספר פעמים בלי לפרוס אותן.
הרצות של קוד ב-Fenced frames
ב-Android 11, NNAPI
מאפשר להמתין להפעלות לרשימה של sync_fence
ידיות
ובאופן אופציונלי להחזיר אובייקט sync_fence
, שמסומן כשההפעלה מסתיימת. כך מצטמצם העומס על מודלים קטנים של רצפים ועל תרחישי שימוש בסטרימינג. ההרצה המוגבלת מאפשרת גם יכולת פעולה הדדית יעילה יותר עם רכיבים אחרים שיכולים לסמן או להמתין ל-sync_fence
.
דומיינים של זיכרונות
במכשירים עם Android 11 ואילך, NNAPI תומך בדומיינים של זיכרון שמספקים ממשקי הקצאה ל-buffers שמנוהלים על ידי מנהל ההתקן. כך אפשר להעביר זיכרונות מקוריים של מכשירים בין הפעלות, ולמנוע העתקה והמרה מיותרות של נתונים בין הפעלות עוקבות באותו מנהל התקן.
איכות השירות
החל מ-Android 11, NNAPI מציע איכות משופרת של שירות (QoS). האפליקציה יכולה לציין את העדיפויות היחסיות של המודלים שלה, את משך הזמן המקסימלי שצפוי עד שהמודל יהיה מוכן ואת משך הזמן המקסימלי שצפוי עד שהביצוע יושלם.
קוונטיזציה של 8 ביט עם סימן
Neural Network HAL (NN HAL) 1.3, שהוצג ב-Android 11, תומך בקוונטיזציה של 8 ביט עם חתימה עבור Neural Networks API. מידע נוסף זמין במאמר בנושא עדכוני NN HAL ב-Android 11.
שיפורים בבדיקות
Android 11 כולל כלי בדיקה לביצוע בדיקות fuzzing בהטמעות של דרייברים של NNAPI, וסדרה של בדיקות קריסה כדי לאמת את העמידות של דרייברים בתנאי שימוש אינטנסיביים.
מידע נוסף זמין במאמרים הבאים:
חיישנים
סוג חיישן זווית הציר
ב-Android 11 נוסף סוג של חיישן זווית הציר לייצוג חיישן שמודד את הזווית בין שני חלקים אינטגרליים של מכשיר.
Sensors Multi-HAL 2.1
Sensors Multi-HAL 2.1, שזמין ב-Android 11, הוא איטרציה של Sensors Multi-HAL 2.0, שתומך בטעינה של רכיבי sub-HAL שיכולים לחשוף את סוג החיישן hinge angle. כדי לתמוך בסוג החיישן הזה, ממשקי sub-HAL צריכים להשתמש בממשקי sub-HAL API שמוגדרים בכותרת 2.1 SubHal.
מדיה
DRM
ב-Android 11 הנתיב של MediaDrm/Crypto IPC פשוט יותר כי MediaDrmService הוסר. נוסף MediaDrm
API חדש כדי למנות את הפלאגינים הזמינים של DRM.
פענוח עם זמן אחזור קצר ב-MediaCodec
Android 11 כולל את MediaCodec 2.0 כדי לאפשר פענוח מדיה עם זמן אחזור נמוך, שהוא קריטי לאפליקציות בזמן אמת.
שונות
עדכון לדרישות של אפליקציית הגלריה ב-AOSP
החל מ-Android 11, אפליקציית הגלריה של AOSP לא נדרשת לתמוך בסוג ה-MIME application/sdp
עבור הכוונה ACTION_VIEW
. מסנן הכוונות ACTION_VIEW
עבור סוג ה-MIME application/sdp
הוסר מקובץ המניפסט של אפליקציית הגלריה של AOSP.
הדרישות האלה מתועדות בסעיף 3.2.3.1. Core Application Intents של ה-CDD.
ביצועים
Userspace lmkd
ב-Android 11 מוצגת אסטרטגיה חדשה להפסקת פעולה של אפליקציות כדי למנוע מחסור בזיכרון והידרדרות בביצועים.
כוח
מצב שינה לא קשוב לממיר לטלוויזיה
ב-Android 11, נוספה תכונה חדשה שנקראת 'שינה במצב לא פעיל' למצב המתנה של הטלוויזיה. זוהי תכונה לחיסכון באנרגיה שמאפשרת להגדיר זמן קצוב לתפוגה של חוסר פעילות מצד המשתמש, שאחריו המכשיר עובר למצב שינה, גם אם מוחזקים נעילות השכמה.
מאובטח
OEMCrypto
Android 11 תומך בגרסה 16 של OEMCrypto API.
אחסון
נפח אחסון ייעודי לאפליקציות
מערכת Android 11 תומכת בנפח אחסון ייעודי לאפליקציות, שמגביל את הגישה של האפליקציה לאחסון חיצוני. בנוסף, MediaProvider הופך למטפל במערכת הקבצים (עבור FUSE) באחסון חיצוני, וכך מערכת הקבצים באחסון החיצוני ומסד הנתונים של MediaProvider עקביים.
הוצאה משימוש של SDCardFS
התמיכה ב-SDCardFS הוצאה משימוש ב-Android 11. בבדיקות VTS אי אפשר להשתמש במערכות קבצים שנטענו ומופיעות כ-SDCardFS. הפונקציות של SDCardFS מוחלפות בשיטות אחרות.
בדיקות
חבילה לבדיקות תאימות (CTS)
ב-Android 11, נוספו הרבה מודולים חדשים של מפתחות ושינויים בבדיקות ל-CTS. מידע נוסף זמין בהערות הגרסה של CTS.
בדיקות CTS לממשקי API לניהול APEX
החל מ-Android 11, חבילת CtsShimApex
מכילה שתי אפליקציות מוכנות מראש ש-CTS משתמש בהן כדי לבדוק הרשאות וזכויות גישה.
אם המכשיר לא תומך בניהול חבילות APEX או אם במכשיר פועלת גרסה 10 או גרסה מוקדמת יותר, צריך להתקין מראש את שתי האפליקציות המובנות במערכת בנפרד.
פרטים נוספים זמינים במאמר בנושא חבילות CTS shim.
נתוני הגרסה של CTS
ב-Android 11 נוספו הרבה מודולים חדשים ושינויים בבדיקות.
ניפוי באגים
רישום ספקים ביומן בהיקף מוגבל
ב-Android 11 נוסף HAL חדש, IDumpstateDevice (version 1.1). HAL הזה חושף שיטות חדשות כדי לצמצם את היקף היומנים של הספקים שנכללים בדוחות באגים רגילים, וגם כדי לאפשר לבניית משתמשים להפעיל ולהשבית את הרישום ביומן של הספקים (ברירת המחדל לבניית משתמשים היא השבתה). כך יצרני ציוד מקורי (OEM) מקבלים יותר שליטה על מה שנכלל בסוגים מסוימים של דוחות באגים.
GWP-ASan: זיהוי של נתונים פגומים ב-heap
GWP-ASan היא תכונה של הקצאת זיכרון נייטיב שעוזרת למצוא באגים מסוג use-after-free ו-heap-buffer-overflow בתהליכים של 32-bit ו-64-bit.
GWP-ASan מופעל אוטומטית ב-Android 11 לאפליקציות מערכת ולקובצי הפעלה של הפלטפורמה. אל תשביתו אותו בפלטפורמה, והפעילו אותו באפליקציות שלכם.
עדכונים
שיפורים בעדכון מערכת דינמי (DSU)
Android 10 כולל שיפורים בעדכונים דינמיים של המערכת (DSU), כולל:
- ממשק קצה חדש, טוען DSU בלחיצה אחת
- תמיכה ב-DSU עם כמה מחיצות
- חבילות DSU חתומות על ידי יצרן ציוד מקורי (OEM), לאבטחה משופרת
- דרכים חדשות לניהול התאימות בין חבילות DSU למכשירים
חבילות OTA לכמה מק"טים
ב-Android 11 ואילך יש תמיכה בשימוש בחבילת OTA אחת למספר מכשירים עם מק"טים שונים. כדי לעשות זאת, צריך להגדיר את מכשירי היעד לשימוש בטביעות אצבע דינמיות ולעדכן את המטא-נתונים של OTA (באמצעות כלי OTA) כך שיכללו את שם המכשיר ואת טביעת האצבע ברשומות של התנאים לפני ואחרי.
חתימה על גרסאות build להפצה
ב-Android 11 נעשו שינויים בכמה פקודות CLI לחתימה על גרסאות build להפצה.
חבילת בדיקות לספקים (VTS) 11
Android 11 Vendor Test Suite (VTS) מספק בדיקות מקיפות של ליבת המערכת ושל שכבת הפשטת החומרה (HAL).
בדיקת A/B וירטואלית
ב-Android 11, עדכוני A/B ועדכונים שאינם A/B מאוחדים באמצעות A/B וירטואלי. עדכוני A/B וירטואליים מאפשרים לבצע עדכונים בצורה חלקה במכשירים, תוך צמצום עלויות האחסון.
בדיקה
הקצאת זיכרון בערימה באמצעות Scudo כברירת מחדל
החל מ-Android 11, נעשה שימוש במקצה הזיכרון של scudo heap לכל הקוד המקורי (חוץ ממכשירים עם זיכרון נמוך, שבהם עדיין נעשה שימוש ב-jemalloc). לכן, אין יותר צורך להפעיל את scudo על בסיס בינארי. מידע נוסף על scudo מופיע בדף בנושא scudo.
טלוויזיה
מסגרת CAS
Android 11 תומך במסגרת של מערכות גישה מותנית למדיה (Media CAS) ל-Android TV, שמספקת ממשקי API סטנדרטיים של Java למפתחים ול-OEM של צד שלישי. פרטים נוספים מופיעים במאמר בנושא מסגרת CAS.
מנהור מולטימדיה
ב-Android 11, משתמשים יכולים להטמיע מנהור מולטימדיה עם תוכן אודיו ווידאו שמוזן ישירות מ-Tuner.
Tuner framework
Android 11 תומך ב-Tuner Framework ל-Android TV, שמספק תוכן A/V באמצעות Tuner HAL, Tuner SDK API ו-Tuner Resource Manager.
TV Input Framework
Android TV Input Framework (TIF) מפשט את הצגת התוכן בשידור חי ב-Android TV. הוא מספק יצרנים עם API סטנדרטי ליצירת מודולים של קלט לשליטה ב-Android TV, ומאפשר חיפוש והמלצות של תוכניות בשידור חי. ב-Android 11 הוספנו שלושה רכיבים חדשים ל-TIF.