הערות גרסה של אנדרואיד 10

דף זה מסכם את התכונות העיקריות במהדורת אנדרואיד 10, ומספק קישורים למידע נוסף. סיכומי תכונה אלה מאורגנים בהתאם למיקום התיעוד של התכונה באתר זה.

לִבנוֹת

java_sdk_library

אנדרואיד 10 מציגה את java_sdk_library , כלל בנייה חדש לתיקון בעיות תאימות לספריות Java משותפות. יצרני מכשירים יכולים להשתמש במנגנון זה עבור ספריות Java משותפות משלהם כדי לשמור על תאימות לאחור עבור ממשקי ה-API שלהם.

ארכיטקטורה

רכיבי מערכת מודולריים

אנדרואיד 10 יוצר מודולריזציה של חלק ממרכיבי מערכת אנדרואיד ומאפשרת לעדכן אותם מחוץ למחזור השחרור הרגיל של אנדרואיד. חלק מהמודולים כוללים:

שכבת הפשטת חומרה (HAL)

אנדרואיד 10 מוסיפה תמיכה עבור HALs לכיבוי אוטומטי כאשר אין להם לקוחות.

גַרעִין

ABI

אנדרואיד 10 כולל תמיכה בכלי עזר חדשים לניטור ABI כדי לעזור בהשוואה, מעקב והפחתת שינויים ב-ABI של ליבה המשפיעים על תאימות עם מודולי ליבה.

אנדרואיד 10 מציגה גם בודק שימושים ABI מבוסס סמלים. הבודק יכול לזהות בינאריים מיושנים שנבנו מראש בזמן הבנייה, כך שמפתחי ספרייה משותפת יכולים לדעת אילו קבצים בינאריים שנבנו מראש עלולים להישבר על ידי השינוי שלהם ואילו בינאריים שנבנו מראש חייבים להיבנות מחדש.

אנדרואיד Live-Lock Daemon

אנדרואיד 10 כולל את Android Live-Lock Daemon (llkd) , שנועד לתפוס ולהפחית מבוי סתום.

vDSO32 ב-ARM64

אנדרואיד 10 תומך בשימוש ב-vDSO32 על גרעינים של 64 סיביות , המספק עלייה של 0.4 אחוז בחיי הסוללה ושיפורי ביצועים אחרים.

ערכי fstab עבור מחיצות מותקנות מוקדם

אנדרואיד 10 דורשת ממכשירים לציין ערכי fstab עבור מחיצות שהותקנו מוקדם באמצעות קובץ fstab בשלב הראשון ramdisk.

HIDL

הורדת תור שידור

אנדרואיד 10 כולל BroadcastQueue חדש להורדה לתורי הרקע והחזית הקיימים. לתור ההורדה יש ​​את אותה עדיפות והתנהגות זמן קצוב כמו לתור ברקע. כדי למנוע חסימת תור ברקע, היכן שידורים מעניינים יותר או גלויים יותר למשתמש יכולים לקרות, תור ההורדה מטפל בשידור BOOT_COMPLETED , שאפליקציות רבות מאזינות לו ויכול לקחת זמן רב עד להשלמתו. תור ההורדה מטפל כרגע רק בשידור BOOT_COMPLETED , אבל יכול לטפל בשידורים ארוכים אחרים.

שירות השעיית מערכת

אנדרואיד 10 מחליף את השרשור ב- libsuspend האחראי על התחלת השעיית המערכת בשירות SystemSuspend HIDL . יישום זה מציע פונקציונליות מקבילה לגרסאות קודמות תוך מינוף היתרונות מתשתית HIDL של אנדרואיד.

safe_union ב-HIDL

אנדרואיד 10 מציגה את safe_union , סוג איחוד מתויג במפורש, ב-HIDL.

תְצוּרָה

ConfigStore HAL

Android 10 מוציא משימוש את ConfigStore HAL עקב צריכת זיכרון גבוהה ושימוש קשה, ומחליף את ה-HAL במאפייני מערכת .

Config File Schema API

פלטפורמת אנדרואיד מכילה מספר רב של קבצי XML לאחסון נתוני תצורה. רבים מקובצי ה-XML נמצאים במחיצת vendor , אך הם נקראים במחיצת system . במקרה זה, הסכימה של קובץ ה-XML משמשת כממשק על פני שתי המחיצות, ולכן יש לציין את הסכימה במפורש ועליה להתפתח באופן תואם לאחור. לפני אנדרואיד 10, הפלטפורמה לא סיפקה מנגנונים לדרוש ציון ושימוש בסכימת XML, או כדי למנוע שינויים לא תואמים בסכימה. אנדרואיד 10 מספק מנגנון זה, הנקרא API של Config File Schema .

מאפייני מערכת כממשקי API

מאפייני מערכת שאליהם ניתן לגשת על פני מחיצות מסוכמים לקובצי תיאור sysprop , וממשקי API לגישה למאפיינים נוצרים כפונקציות קונקרטיות עבור C++ ומחלקות עבור Java.

אובייקט ממשק ספק (VINTF).

VINTF

שינויים ב-VINTF באנדרואיד 10 כוללים:

  • ביטול תגיות גרסת AVB
  • הוספת מידע ליבה בחבילות OTA
  • בניית מניפסטים של ODM באופן רשמי
  • הוספת מטריצת תאימות למוצר
  • שיוך ערך מניפסט למודול HAL במערכת הבנייה

טוען אתחול

רמדיסק

באנדרואיד 10, מערכת קבצי השורש אינה כלולה עוד ב- ramdisk.img ובמקום זאת ממוזגת לתוך system.img .

בניית מחיצות ODM

אנדרואיד 10 כולל תמיכה בבניית מחיצות odm באמצעות מערכת ה-build של אנדרואיד. אתה יכול להשתמש במחיצת /odm נפרדת עבור התאמות אישיות, המאפשרת לך להשתמש בתמונת ספק יחיד עבור מספר SKUs של חומרה. זה מאפשר ליצרני עיצוב מקוריים (ODMs) להתאים אישית את חבילות התמיכה של ספקי לוחות של ספקים (BSPs) למכשירים הספציפיים שלהם (הלוחות שלהם). הם יכולים ליישם מודולי ליבה עבור רכיבים ספציפיים ללוח, דמונים ספציפיים ללוח, או תכונות משלהם בשכבות הפשטה של ​​חומרה (HAL). הם עשויים גם להחליף או להתאים אישית רכיבי SoC.

ניהול גרסאות של כותרת אתחול של תמונת אתחול

אנדרואיד 10 מעדכנת את כותרת תמונת האתחול לגרסה 2, הכוללת קטע לאחסון תמונת עץ המכשיר (DTB). בדיקות Android 10 VTS מוודאות שכל המכשירים המופעלים עם אנדרואיד 10 משתמשים בגרסה 2 של כותרת התמונה של האתחול וכוללים תמונת DTB חוקית כחלק מתמונות האתחול/שחזור.

תמונות שחזור עבור מכשירים שאינם A/B

ב-Android 9 ומעלה, תמונת השחזור של מכשיר חייבת להכיל מידע מתמונת שכבת העל . יצרני מכשירים יכולים להשתמש ב-DeviceTree או ב-Advanced Configuration and Power Interface (ACPI) כדי לתאר את כל המכשירים הבלתי ניתנים לגילוי. אנדרואיד 10 ומעלה כולל תמיכה בארכיטקטורות המשתמשות ב-ACPI במקום ב-DeviceTree blob לשכבת-על (DTBO).

איידל יציב

אנדרואיד 10 מוסיפה תמיכה בשפת הגדרת ממשק אנדרואיד יציבה (AIDL) , דרך חדשה לעקוב אחר ממשק תוכניות היישום (API)/ממשק בינארי יישומים (ABI) המסופק על ידי ממשקי AIDL.

העבר את fastboot למרחב המשתמש

אנדרואיד 10 מוסיפה תמיכה במחיצות הניתנות לשינוי גודל על ידי העברת יישום ה-fastboot ממטען האתחול למרחב המשתמש.

לְהַצִיג

השמעת וידאו HDR

אנדרואיד 10 תומך בניגון HDR10, VP9 ו-HDR10+ .

סיווג טקסט

סיווג טקסט משתמש בטכניקות למידת מכונה כדי לעזור למפתחים לסווג טקסט. אנדרואיד 10 מציגה שתי שיטות ל-TextClassifier API: suggestConversationActions ו- detectLanguage . שיטת suggestConversationActions מייצרת הצעות לתשובות ופעולות משיחה נתונה ושיטת detectLanguage מזהה את שפת הטקסט.

תמיכה בעיבוד גופני Zawgyi

Zawgyi הוא הגופן הפופולרי ביותר במיאנמר. אנדרואיד 9 ומטה לא תמכה בעיבוד Zawgyi מכיוון שהוא אינו תואם Unicode . אנדרואיד 10 מטפלת בכך על ידי הכללת גופן Unicode המסוגל לעבד גם את יוניקוד בורמזית וגם את Zawgyi יחד. אין צורך בעבודת יישום כדי לתמוך בעיבוד גופני Zawgyi במכשירים המופעלים עם Android 10. אם למכשירים שלך יש יישום מותאם אישית לתמיכה ב-Zawgyi, אתה יכול:

מגבלות להסתרת סמלי אפליקציה

אנדרואיד 10 מגביל את היכולת של אפליקציות להסתיר את סמלי המשגר ​​שלהן. אם לאפליקציה לא מופעלת פעילות משגר, המערכת מציגה פעילות מסונתזת במפעיל; פעילות מסונתזת זו מייצגת את דף הפרטים של האפליקציה בתוך הגדרות המערכת.

למידע נוסף על ההיגיון המשמש להצגת סמלי אפליקציות, כולל סוגי האפליקציות שסמלי האפליקציה שלהם אינם מוצגים, עיין בתיעוד עבור getActivityList() בהפניה ל-API.

הגדרות

כדי לשפר את הנגישות, אנדרואיד 10 כולל הגדרות זמן קצוב הניתנות להתאמה אישית של המשתמש. השינויים ב-API וההגדרות מגיעים עם Android 10. אם תתאים אישית את ההגדרות שלך, ודא שהתכונה הזו נתמכת. אם יש לך רכיבי ממשק משתמש שהוקצו לזמן קצוב במכשיר שלך, השתמש ב- API של זמן קצוב בהם. למידע נוסף, עיין בהנחיות הנגישות למפתחי Android .

תְאִימוּת

מסמך הגדרת תאימות אנדרואיד (CDD)

מסמך הגדרת התאימות של אנדרואיד 10 חוזר על גרסאות קודמות עם עדכונים לתכונות חדשות ושינויים בדרישות לפונקציונליות שפורסמה בעבר.

מבחנים

חבילת בדיקת תאימות (CTS)

ל-Android CTS יש דף הערות שחרור נפרד המפרט שינויים חשובים רבים עבור אנדרואיד 10.

הורדות CTS

חבילות CTS התומכות באנדרואיד 10 זמינות בדף הורדות CTS . ניתן לסנכרן את קוד המקור של הבדיקות הנכללות עם התג android-cts-10_r1 בעץ הקוד הפתוח.

CTS shim APEX

אנדרואיד 10 מציגה חבילה בשם CtsShimApex , אותה יש להתקין מראש במכשיר כדי לכתוב בדיקות CTS לניהול APEX.

בדיקת מצב רתמה

מצב רתמת בדיקת CTS עוזר למפתחים להפוך בדיקות לאוטומטיות למכשיר או לצי מכשירים.

מצב אפליקציות מיידיות

החל מאנדרואיד 10, CTS פועל במצב אפליקציות מיידיות , כלומר התקנת ה-APK לבדיקה כאפליקציה מיידית והפעלת הבדיקות.

בנוסף למצב CTS עבור אפליקציות מיידיות, אנדרואיד 10 כולל CTS Verifier עבור אפליקציות מיידיות

מבחן שמע CTS Verifier pro

אנדרואיד 10 מוסיף מבחן CTS Verifier עבור תאימות Pro Audio .

מבחני MIDI של CTS Verifier

באנדרואיד 10, מבחן ה-CTS Verifier MIDI בודק את פונקציונליות ה-MIDI עם ממשקי USB MIDI, ממשקי Bluetooth MIDI ונתיב מכשיר MIDI וירטואלי.

פרשנות מבחן CTS

אנדרואיד 10 מעדכנת את המנגנון לפירוש תוצאות CTS .

Vendor Test Suite (VTS)

בדיקת VTS עם באגים ramdisk

באנדרואיד 10, תמונת המערכת הגנרית (GSI) המשמשת להפעלת בדיקות תאימות CTS-on-GSI/VTS משתנה מ-userdebug לסוג build של משתמש, מכיוון ש-GSI חתום על שחרור. עם זאת, פקודת ה- adb root שנותנת הרשאות שורש מארח למכשיר האנדרואיד הנבדק אינה זמינה ב-build משתמש. זו בעיה מכיוון ש-VTS דורש adb root כדי לפעול.

ה- ramdisk לניפוי באגים מוצג כדי לאפשר את adb root , אם המכשיר אינו נעול. זה מפשט את זרימת הבדיקה על ידי שימוש חוזר באותו מערכת בניית משתמש system.img (או GSI או system.img של ה-OEM).

אימות מלחין החומרה

אנדרואיד 10 מוסיפה מחלקת בדיקה חדשה של VTS לאימות Hardware Composer דרך ממשק readback ב- IComposerClient.hal . אם הספקים לא מיישמים readback , הבדיקות עוברות אוטומטית.

איתור באגים

טען ספריות משותפות עם מעמיסי מחלקות שונים

באנדרואיד 9 ומטה, אפליקציות טענו את הספריות המשותפות המקושרות שלהן ב-Java במטען המחלקה של האפליקציה. באנדרואיד 10, המסגרת משתמשת במטען מחלקות שונה ממטעין המחלקה של האפליקציה כדי לטעון ספריות משותפות של Java המקושרות דרך uses-library או uses-static-library .

באופן כללי, אפליקציות לא צריכות להסתמך על שימוש במטען מחלקה ספציפי, כך ששינוי זה לא אמור לשבור את התנהגות האפליקציה. עם זאת, אם אפליקציה מסתמכת על שימוש בטוען מחלקה יחיד, התנהגות זו פגומה. בנוסף, נראות פרטית של חבילה של מחלקות באותה חבילה עדיין נתמכת, אך אינה נתמכת בספריות משותפות.

יצרני מכשירים עשויים לראות בעיות תאימות לאפליקציות בזמן שהם בודקים את המכשירים שלהם עם אנדרואיד 10.

מאפייני אבטחה

לרשימה מלאה יותר של שיפורים הקשורים לאבטחה ופרטיות בלבד, עיין בדף שיפורי האבטחה והפרטיות של Android 10 .

אימות פנים

אימות פנים מאפשר למשתמשים לבטל את נעילת המכשיר שלהם פשוט על ידי התבוננות בחזית המכשיר שלהם. אנדרואיד 10 מוסיפה תמיכה בערימת אימות פנים חדשה שיכולה לעבד באופן מאובטח מסגרות מצלמה, תוך שמירה על אבטחה ופרטיות במהלך אימות פנים בחומרה נתמכת. אנדרואיד 10 מספקת גם דרך קלה להטמעות תואמות אבטחה כדי לאפשר שילוב אפליקציות עבור עסקאות כגון בנקאות מקוונת או שירותים אחרים.

גישה מורחבת

סוכני אמון, המנגנון הבסיסי בו משתמשים מנגנוני אימות שלישוני כגון Smart Lock, יכולים להאריך את הנעילה רק ב-Android 10. סוכני אמון אינם יכולים עוד לבטל את הנעילה של מכשיר נעול ויכולים להחזיק מכשיר פתוח רק למשך ארבע שעות לכל היותר.

הצפנה

OEMCrypto

אנדרואיד 10 משתמש בגרסה 15 של OEMCrypto API.

בדיקה

BoundsSnitizer

אנדרואיד 10 פורסת את BoundsSanitizer (BoundSan) ב-Bluetooth וב-codec. BoundSan משתמש ב-Bounds חיטוי של UBSan. הפחתה זו מופעלת ברמת כל מודול. זה עוזר לשמור על רכיבים קריטיים של אנדרואיד מאובטחים ואסור להשבית אותם. BoundSan מופעל ברכיבי ה-codec הבאים:

  • libFLAC
  • libavcdec
  • libavcenc
  • libhevcdec
  • libmpeg2
  • libopus
  • libvpx
  • libspeexresampler
  • libvorbisidec
  • libaac
  • libxaac

חיטוי של גלישה שלמה

אנדרואיד 10 מאפשרת חיטוי של Overflow Sanitization (IntSan) ב-Codec תוכנה. ודא שביצועי ההשמעה מקובלים עבור כל רכיבי Codec שאינם נתמכים בחומרה של המכשיר. IntSan מופעל ברכיבי ה-codec הבאים:

  • libFLAC
  • libavcdec
  • libavcenc
  • libhevcdec
  • libmpeg2
  • libopus
  • libvpx
  • libspeexresampler
  • libvorbisidec

זיכרון לביצוע בלבד

כברירת מחדל, קטעי קוד ניתנים להפעלה עבור קבצים בינאריים של מערכת AArch64 מסומנים לביצוע בלבד (לא קריא) כאמצעי הקשחה מפני התקפות שימוש חוזר בקוד בדיוק בזמן. קוד שמערבב נתונים וקוד יחד וקוד שבודק בכוונה את הקטעים הללו (מבלי למפות מחדש את מקטעי הזיכרון כקריאים) כבר לא מתפקד. אפליקציות עם SDK יעד של אנדרואיד 10 (רמת API 29 ומעלה) מושפעות אם האפליקציה מנסה לקרוא קטעי קוד של ספריות מערכת התומכות בזיכרון הפעלה בלבד (XOM) בזיכרון מבלי לסמן תחילה את הקטע כקריא.

סקודו

Scudo הוא מקצה זיכרון דינמי במצב משתמש שנועד להיות עמיד יותר בפני פגיעויות הקשורות בערימה. הוא מספק את הפרימיטיבים הסטנדרטיים להקצאה וביטול ההקצאה, כמו גם את הפרימיטיבים C++.

ShadowCallStack

ShadowCallStack (SCS) הוא מצב מכשור של LLVM המגן מפני החלפת כתובת החזרה (כמו הצפת מחסנית מחסנית) על ידי שמירת כתובת ההחזרה של פונקציה למופע ShadowCallStack שהוקצה בנפרד בפרולוג הפונקציות של פונקציות שאינן עלים וטעינת כתובת ההחזרה ממופע ShadowCallStack ב- הפונקציה epilog.

שֶׁמַע

אודיו HAL

אנדרואיד 10 כולל את היכולות החדשות הבאות עבור אודיו HAL .

  • AudioSource
  • AudioFormat
  • AudioChannelMask

דרישות נוספות מתווספות עבור אודיו HAL ויישום תת-מערכת.

אפקטים של עיבוד מוקדם

אנדרואיד מספקת אפקטים של עיבוד מקדים , כגון ביטול הד אקוסטי, בקרת רווח אוטומטי ודיכוי רעשים. אנדרואיד 10 כולל דרישות חדשות לצילום באמצעות VOICE_COMMUNICATION .

מנהל מדיניות אודיו

אנדרואיד 10 כולל שינוי משמעותי של מנהל מדיניות האודיו כדי לספק גמישות רבה יותר לתמיכה במקרים מורכבים של שימוש ברכב.

אודיו ברזולוציה גבוהה

אנדרואיד 10 כולל את השיפורים הבאים עבור אודיו ברזולוציה גבוהה .

  • תמיכה לצוף
  • תמיכה בתדר 192 KHz
  • תמיכה בשמונה ערוצים
  • הכללת מידע תזמון

לכידה במקביל

אנדרואיד 10 משפר את חווית המשתמש של לכידת בו-זמנית שדורשת יותר מלכידת אודיו פעילה אחת כדי להתרחש בו זמנית.

AudioPlaybackCapture

אנדרואיד 10 מכיל API חדש בשם AudioPlaybackCapture , המעניק לאפליקציות את היכולת להעתיק את האודיו המושמע על ידי אפליקציות אחרות. תכונה זו דומה ללכידת מסך, אך לאודיו. מקרה השימוש העיקרי הוא לאפשר לאפליקציות סטרימינג ללכוד את האודיו המושמע על ידי משחקים.

ממשק ה-API של לכידה אינו משפיע על זמן האחזור של האפליקציה שהשמע שלה נקלט.

MIDI

אנדרואיד 10 מקל על העברה של אפליקציות שמע מקצועיות באמצעות MIDI לפלטפורמת אנדרואיד באמצעות ה- API AMidi NDK .

מַצלֵמָה

לסיכום השינויים בממשק ה-API של המצלמה, המצלמה HAL ומודול המצלמה שהוצגו באנדרואיד 10, ראה עדכוני מצלמת Android 10 .

שיפורי פרטיות במסגרת המצלמה

אנדרואיד 10 מציגה שיפורי פרטיות למסגרת המצלמה. כדי להימנע מחשיפת מידע מצלמה סטטי שעלול להיות רגיש ב- CameraCharacteristics ללא הסכמת המשתמש, אפליקציות חייבות לקבל את הרשאת CAMERA כדי לאחזר מטא נתונים סטטיים עם תג רגיש לפרטיות בשיטת getCameraCharacteristics .

כדי לקבל רשימה של המפתחות האופייניים למצלמה הדורשים הרשאת CAMERA , התקשר לשיטת getKeysNeedingPermission .

שאילתת תצורה מחדש של הפעלה

אנדרואיד 10 מוסיפה תכונת שאילתת תצורה מחדש של הפעלה , המאפשרת ביצועים משופרים באמצעות שליטה רבה יותר על לוגיקה של קביעת התצורה מחדש של פרמטר ההפעלה הפנימי.

ממשקי API לניהול מאגר של מצלמה HAL3

אנדרואיד 10 מציגה ממשקי API לניהול חיץ אופציונליים של מצלמה HAL3 המאפשרים לך ליישם לוגיקה של ניהול מאגר כדי להשיג זיכרון שונה וללכוד פשרות חביון ביישומי HAL של מצלמה.

מתג מצלמה פיזית דינמית HAL למצלמה

אנדרואיד 10 מציגה תג מטא נתונים דינמי, ANDROID_LOGICAL_MULTI_CAMERA_ACTIVE_PHYSICAL_ID , המציין את המצלמה הפיזית הפעילה הבסיסית של התקן מצלמה לוגי. למידע נוסף, ראה תמיכה מרובת מצלמות .

תמיכה בהסתרת מצלמות פיזיות

באנדרואיד 10, המצלמה HAL יכולה להפחית את מספר המצלמות הפיזיות שניתן לפתוח ישירות על ידי אפליקציה. לפרטים נוספים, ראה תמיכה בריבוי מצלמות .

Camera2 VNDK API

באנדרואיד 10, מודולים של ספקים יכולים לגשת למכשירי מצלמה ולשלוט בהם באמצעות שני ממשקי HIDL סטנדרטיים חדשים, android.frameworks.cameraservice.service@2.0 ו- android.frameworks.cameraservice.device@2.0 . כדי להפוך את השימוש בממשקי HIDL לנוח יותר, אנדרואיד 10 מציגה גם ספרייה זמינה לספק, libcamera2_vendor . ספרייה זו דומה לספריית Camera NDK , עם כמה שינויים קלים.

תצורות זרם

אנדרואיד 10 מוסיפה תכונות המאפשרות לספקי מצלמות לפרסם זרמי מצלמות מומלצים ללקוחות מצלמה ולתמוך ב- API לשאילתות על שילובי זרמים .

דרישות לשילוב זרם מצלמה

מכשירים עם אנדרואיד 10 אינם נדרשים עוד כדי לתמוך בשילובי זרמים עם זרמים פיזיים של מצלמות משנה. עם זאת, מכשירים המריצים אנדרואיד 10 עם מכשיר המצלמה HAL גרסה 3.5 חייבים לתמוך isStreamCombinationSupported() כדי לאפשר לאפליקציות לשאול אם שילוב זרמים המכיל זרמים פיזיים נתמך.

למידע נוסף, ראה תמיכה מרובת מצלמות .

הדמיית HEIF

אנדרואיד 10 מספקת תמיכה במצלמה מקורית לתמונות בפורמט קובץ תמונה ביעילות גבוהה (HEIF) , המציעות איכות תמונה משופרת וגדלים קטנים יותר על פני תמונות JPEG. להתקנים חייבים להיות מקודד HEIC או HEVC כדי לתמוך בתמונות HEIF.

מצלמות מונוכרום

אנדרואיד 10 מספקת תמיכה נוספת בפורמט זרם Y8, מטא נתונים סטטיים של מערך מסנן צבעים מונוכרום וקרוב לאינפרא אדום (NIR), ופונקציות DngCreator עבור מצלמות מונוכרום .

קישוריות

שיחות והודעות

מספרי חירום ושיחות חירום

אנדרואיד 10 מספקת תמיכה משופרת לשיחות חירום . במקרה חירום, מכשירים עם תמיכה בIRRadio HAL v1.4 יכולים ליזום שיחת חירום באמצעות מספרי חירום שאוחזרו ממקור כגון כרטיס SIM, אות הרשת או מסד הנתונים של אנדרואיד. ניתן לסווג מספרים על סמך קטגוריות של שירותי חירום כגון משטרה, כיבוי אש ואמבולנס.

ממשקי API של שיחה קבוצתית

ממשקי ה-API של השיחות הקבוצתיות הם הרחבה של ממשקי ה-API של eMBMS שנוספו באנדרואיד 9. ממשקי ה-API החדשים מגדירים סטנדרט להצטרפות של אפליקציות ולשידור בשיחות קבוצתיות בשידור סלולרי על ידי אינטראקציה עם חבילות תוכנת eMBMS. שיחות קבוצתיות דורשות תמיכה מספק ערכת השבבים, ספק תוכנת האמצע ומספק הסלולר כדי לתפקד כראוי. תיעוד למפתחים נמצא בכתובת developer.google.com .

יכולות SIM מרחוק

אנדרואיד 10 מציגה יכולות SIM מרחוק המאפשרות לאפליקציות העברת הודעות במכשיר מארח אנדרואיד לשלוח הודעות SMS דרך טלפונים באמצעות מנגנונים כגון Bluetooth. למידע נוסף, עיין בתיעוד העזר עבור שיטת getSubscriptionType וקבוע SUBSCRIPTION_TYPE_REMOTE_SIM .

מספר eSIM

באנדרואיד 10, מחלקת EuiccManager תומכת במכשירים עם מספר SIM משובץ (eSIM) או eUICC.

עדכוני eSIM

עבור מכשירים עם אנדרואיד 10 התומכים ב-eSIM, יש להגדיר מערך מזהה חריץ eUICC שאינו ניתן להסרה. התקנים חייבים גם לתמוך ב-IRadio HAL v1.4 וב-IRadioConfig HAL v1.2. למידע נוסף, ראה יישום דרישות eSIM ו-HAL .

5G לא עצמאי (NSA)

אנדרואיד 10 מוסיפה תמיכה עבור 5G לא עצמאי (NSA) . 5G NSA הוא פתרון לרשתות 5G כאשר הרשת נתמכת על ידי תשתית 4G קיימת. ב-Android 10, מכשירים יכולים להציג סמל 5G בשורת המצב כאשר מכשיר מתחבר לרשת 5G.

הצעה לחשבון טלפון

אנדרואיד 10 מציגה את שירות ההצעות לחשבונות טלפון , המאפשר להציג הצעות לחשבונות טלפון למשתמשים בעת ביצוע שיחה.

מוֹבִיל

העבר את הגדרות הרשת הסלולרית

אנדרואיד 10 עיצב מחדש את קוד ממשק המשתמש של הגדרות הרשת הניידת והעביר אותו מחסנית הטלפוניה לערימת ההגדרות. כדי לתמוך בקוד שהועבר, שנה את ערכי התצורה הבאים של הגדרות הרשת הניידת ממשאבי Android למשאבי CarrierConfig :

config_world_mode -> CarrierConfigManager#KEY_WORLD_MODE_ENABLED_BOOL

config_support_tdscdma -> CarrierConfigManager#KEY_SUPPORT_TDSCDMA_BOOL

config_support_tdscdma_roaming_on_networks -> CarrierConfigManager#KEY_SUPPORT_TDSCDMA_ROAMING_NETWORKS_STRING_ARRAY

config_enabled_lte -> CarrierConfigManager#KEY_LTE_ENABLED_BOOL

מזהי מכשיר

מזהי מכשירים מתמשכים (IMEI/MEID, IMSI ו-build serial) נשמרים על ידי הרשאה מוסמכת עם גישה שניתנת גם לאפליקציות של בעלי מכשיר ופרופיל. מכיוון שה-IMSI והמספר הסידורי של ה-SIM מסופקים על ידי ספק, גישה למזהים אלה ניתנת לחבילות עם הרשאות ספק.

וויי - פיי

בחירת רשת

אנדרואיד מעריכה באופן רציף את איכות הרשת המחוברת ומעריכה את איכות הרשתות הזמינות. אנדרואיד 10 עדכנה אלגוריתמים ונהלים לבחירה ומעבר בין רשתות Wi-Fi .

סריקת רשת מועדפת לרשת Wi-Fi

אנדרואיד 10 מציגה שיטת API אופציונלית בשם setDeviceMobilityState() ב- WifiManager שמגדילה את המרווח בין סריקות מועדפות לרשת (PNO) כשהמכשיר נייח כדי להפחית את צריכת החשמל.

ספק Wi-Fi

ב-Android 10, מכשירים עם תכונת ה-Wi-Fi של הספק מתחברים אוטומטית לרשתות Wi-Fi של הספק המוגדרות (רשתות עם אישורי מפתח ציבורי).

Wi-Fi Easy Connect

באנדרואיד 10, מכשירים יכולים להשתמש ב- Wi-Fi Easy Connect , המשתמש בפרוטוקול הקצאת המכשירים (DPP) שהוצג על ידי ה-Wi-Fi Alliance (WFA), כדי לספק ולהגדיר התקני Wi-Fi.

מצב Wi-Fi עם אחזור נמוך

אנדרואיד 10 מציגה מצב Wi-Fi עם חביון נמוך , המגדיר את שבב ה-Wi-Fi להפחתת זמן האחזור.

שרת DHCP מעודכן

כחלק מהיווצרות מטריית שירות "שרת IP", נמחקת dnsmasq . אנדרואיד 10 מחליף את השימוש הפונקציונלי בשרת DHCPv4 שלו ברכיב נפרד, שנכתב בעיקר ב-Java כדי להשתלב טוב יותר עם מישור הבקרה של Java Framework. זה משפר את האבטחה ואת יכולת העדכון עבור שרת ה-DHCP. לפרטים נוספים, ראה packages/modules/NetworkStack/src/android/net/dhcp/DhcpServer.java .

לא נדרשת כל פעולה כדי ליישם את השינוי הזה: כל המכשירים שמשחררים ומשדרגים לאנדרואיד 10 משתמשים ב- DhcpServer כברירת מחדל. אם יש לך התאמות אישיות לשרת ה-DHCP, תוכל לחזור להתנהגות Android 9 על ידי הגדרת ההגדרה הגלובלית tether_enable_legacy_dhcp_server=1 . ה- DhcpServer החדש כלול במודול רכיבי הרשת, כך שכל התאמה אישית לפונקציונליות של שרת DHCP צריכה להיות מודרכת.

WPA3 ו-Wi-Fi Enhanced Open

אנדרואיד 10 מוסיפה תמיכה בתקני האבטחה הפתוחים של Wi-Fi Protected Access 3 (WPA3) ו-Wi-Fi Enhanced Open כדי לספק פרטיות טובה יותר וחוסן מפני התקפות ידועות.

רשת אלחוטית ישירה

Wi-Fi Direct , הידוע גם בשם Wi-Fi P2P, מאפשר למכשירים תומכים לגלות ולהתחבר זה לזה ישירות באמצעות פרוטוקול Wi-Fi Direct ללא גישה לאינטרנט או לרשת סלולרית.

שיפורי אקראיות של MAC

מאנדרואיד 10, האקראיות של MAC מופעלת כברירת מחדל עבור מצב לקוח, SoftAp ו-Wi-Fi Direct. התקנים חייבים לספק אפשרות להפעיל או להשבית את האקראי של MAC עבור כל SSID בממשק המשתמש של המערכת.

נקודת מעבר R2

אנדרואיד 10 מציגה תמיכה בתכונות Passpoint R2 . Passpoint R2 מיישמת הרשמה מקוונת (OSU), שיטה סטנדרטית לאספקת פרופילי Passpoint חדשים. אנדרואיד 10 תומך באספקת פרופילי EAP-TTLS באמצעות SOAP-XML.

NFC

NFC מאובטח

Secure NFC מאפשר להפעיל הדמיית כרטיס NFC מחוץ למארח רק כאשר מסך המכשיר אינו נעול. הטמעת תכונה זו מעניקה למשתמשים את האפשרות להפעיל את Secure NFC לאבטחה משופרת.

Android Beam הוצא משימוש

ב-Android 10, Android Beam כבר לא נדרש והממשקים והשיטות הבאים הוצאו משימוש.

ממשקים:

שיטות:

כדי להשתמש ב-Android Beam, דווח על קבוע התכונה android.sofware.nfc.beam .

גרָפִיקָה

ASurfaceControl

אנדרואיד 10 מוסיף את ASurfaceControl , דרך חדשה עבור SurfaceFlinger לקבל חוצצים.

יישום גרפי

שכבות OpenGL ES

אנדרואיד 10 מציגה מערכת שכבות עבור GLES.

EGL 1.5

אנדרואיד 10 מיישמת את ממשק EGL 1.5 . למידע על תכונות חדשות ב-EGL 1.5, עיין במפרט Khronos Releases EGL 1.5 .

וולקן

אנדרואיד 10 כולל תמיכה בגרפיקה Vulkan 1.1. הפלטפורמה תומכת גם VK_KHR_swapchain v70, כך שהאפליקציה Vulkan מסוגלת ליצור VkImage מגובה בזיכרון swapchain.

קצב רענון ביצועים

אנדרואיד 10 מוסיפה תמיכה בקצב רענון ביצועים. תכונה זו כבויה כברירת מחדל.

אינטראקציה

רכב

אודיו לרכב

באנדרואיד 10, ההקשר של Audio HAL ממפה ל- AudioAttributes.usage כדי לזהות צלילים. אנדרואיד תומך במופע AUDIO_DEVICE_OUT_BUS אחד לכל הקשר. IAudioControl HAL מספק הרחבות ספציפיות לרכב ל- Audio HAL .

ניווט מחוות

אנדרואיד 10 מציגה אפשרות לניווט מלא במערכת מחוות. למידע על אופן הכנת אפליקציות לשימוש בתכונה זו, עיין בדף הניווט המחוות באתר מפתח Android.

רשתות עצביות

אנדרואיד 10 מציגה עדכונים ל- Neural Networks API ול- Neural Networks HAL. לסיכום השינויים, ראה רשתות עצביות .

תיעוד חדש ומעודכן של Neural Networks עבור Android 10:

חיישנים

חיישנים HAL 2.0

חיישנים HAL 2.0 תומך בשימוש בתורי הודעות מהירים (FMQs) לשליחת אירועי חיישנים מה-HAL לתוך מסגרת החיישנים של Android.

חיישנים כבויים

אנדרואיד 10 כולל הגדרת מפתח לכיבוי כל החיישנים במכשיר. תכונה זו עוזרת למפתחים לבחון את הפונקציונליות של האפליקציה שלהם במצבים שבהם חיישנים אלה הופכים לא זמינים, וכן נותנת למשתמשים דרך לשלוט בחיישנים במכשיר שלהם.

אם המכשירים שלך משתמשים ביישום ברירת המחדל של SensorService , CameraService ו- AudioPolicyService , אין צורך בהתאמה אישית נוספת לעיצוב ההתייחסות. אם יש לך חיישנים אחרים, ראה התאמה אישית לפרטים נוספים על תמיכה בתכונה זו.

כְּלֵי תִקְשׁוֹרֶת

רכיבי מדיה הניתנים לעדכון

אנדרואיד 10 מספקת רכיבי מדיה הניתנים לעדכון המאפשרים לעדכן רכיבי מערכת מודולריים הקשורים למדיה באמצעות תשתית Google Play Store או באמצעות מנגנון אויר-אוויר (OTA) שסופק על ידי שותף.

מדיה DRM

אנדרואיד 10 משפרת את השימושיות והשימושיות של ממשקי ה-API של MediaDrm Java ו-NDK.

פִּעַנוּחַ

אנדרואיד 10 תומך בפענוח AV1 SW.

הרשאות

אנדרואיד 10 מספק תצורות הרשאות נוספות לשקיפות ולפרטיות המשתמש.

מידע על ספקי אנשי קשר וזיקות

החל ב-Android 10, הגישה לנתונים הקשורים לאנשי קשר, המנוהלים על ידי רכיב ספק אנשי הקשר , נגישות בצורה שונה מאשר ב-Android 9 ומטה. שינויים אלה בנוגע לנגישות נתונים משפרים את פרטיות המשתמש בכל מכשירי Android 10 המשתמשים ברכיב ספק אנשי הקשר. מסד הנתונים הבסיסי אינו מכיל עוד נתוני זיקה ליצירת קשר. לכן אפליקציות לא יכולות לכתוב או לקרוא ממנה.

השינויים באנדרואיד 10 צפויים להשפיע רבות על ממשקי API. אם היישומים שלך מסתמכים על התכונות שהוצאו משימוש המוזכרות במידע על ספק אנשי קשר ועל זיקה, ייתכן שתרצה לעדכן את האפליקציות שלך כדי לפצות על כל שינוי. בנוסף, אם אתה משתמש בגרסה מפוצלת של ספק אנשי הקשר, עליך לעדכן את ספק אנשי הקשר שלך.

הרשאות מיקום בטריסטייט

הרשאות מיקום טריסטטי באנדרואיד 10 מעניקות למשתמשים שליטה רבה יותר על האופן שבו יישומים ניגשים למיקומי המכשיר שלהם.

תזכורת גישה למיקום ברקע

אנדרואיד 10 כולל תזכורת למיקום גישה ברקע , שמגבירה את השקיפות לגבי מידת הגישה של אפליקציות למיקום המכשיר ומסייעת למשתמשים לשמור על שליטה על גישה כזו.

הגבל מיקומים אופורטוניסטיים

כאשר אפליקציה מבקשת מיקום מכשיר, האפליקציה יכולה לחכות לתגובת הבקשה או, באמצעות מאזיני מיקום פעילים, לקבל עדכון מיקום אופורטוניסטי. החל מאנדרואיד 10, כדי לקבל עדכוני מיקום אופורטוניסטיים , מפתחים חייבים לציין שהם צריכים עדכוני מיקום פסיביים ממחלקת FusedLocationProviderClient .

אפליקציות ברקע מופעלות

באנדרואיד 10, אפליקציות לא מורשות ללא חלון גלוי אינן יכולות להפעיל את עצמן באופן אוטומטי לחזית. שינוי זה מדכא חלונות קופצים של מודעות והשתלטות זדונית. אין צורך בפעולה כדי לאפשר זאת.

ארגז חול באפליקציה

באנדרואיד 10, לאפליקציות יש תצוגה גולמית מוגבלת של מערכת הקבצים, ללא גישה ישירה לנתיבים כמו /sdcard/DCIM . עם זאת, יישומים שומרים על גישה גולמית מלאה לנתיבים הספציפיים לחבילה שלהם, כפי שהוחזרו על ידי כל השיטות הרלוונטיות כגון Context.getExternalFilesDir() . לאפליקציות עדיין יש גישה גולמית מלאה לנתיבים הספציפיים לחבילה שלהם.

השתמש בהנחיות ארגז החול של האפליקציה לשיתוף קבצים כדי לספק פירוט מתאים לשיתוף נתונים.

הגבל את הגישה ללוח האפליקציה

ב-Android 10, הגישה ללוח השתנתה כך שלא ניתן לצפות בתוכן הלוח על ידי קריאה ClipboardManager.getPrimaryClip או על ידי הוספת מאזין onPrimaryClipChangedListener לקבלת הודעה כאשר הלוח משתנה. זה מגביר את פרטיות המשתמש ומשבית יישומים שפוגעים בשינוי הלוח.

באנדרואיד 10, גישת קריאה מותרת רק לאפליקציה הנוכחית עם מיקוד קלט, או למקלדת הנוכחית. קריאת המאזין ClipboardManager.onPrimaryClipChanged() מופעלת כעת רק עבור אפליקציות העומדות במגבלות כאלה. ClipboardManager.getPrimaryClip ו- ClipboardManager.getPrimaryClipDescription מחזירים null אם האפליקציה המבקשת אינה עורך שיטת הקלט המוגדר כברירת מחדל (IME), או שאין לה מיקוד קלט.

הרשאות זמן ריצה כוללות זיהוי פעילות

משתמשים רואים כעת תיבת דו-שיח לזיהוי פעילות כאשר אפליקציה ניגשת למיקום המכשיר ברקע. הרשאות זמן ריצה מוגבלות מאוד חייבות להיות ברשימת ההיתרים כראוי ב-Android 10.

הרשאת MANAGE_DEVICE_ADMINS

אנדרואיד 10 משנה את הרשאת MANAGE_DEVICE_ADMINS מחתימה או הרשאה לחתימה בלבד. המשמעות היא שרק אפליקציות חתומות על פלטפורמה יכולות להגדיר אפליקציות אחרות כמנהל מכשיר.

שיתוף שיפורי API

אנדרואיד 10 מספקת מספר תכונות חדשות של Android Platform API הקשורות לשיתוף . אם שינית את קוד Share Sheet בהטמעה שלך, ודא שהיישום שלך תומך בתכונות החדשות הללו. אם לא שינית את קוד ה-Share Sheet ביישום שלך, אינך צריך לעשות דבר כדי לתמוך בתכונות החדשות הללו.

זמן ריצה של אנדרואיד (ART)

Config חתום

התכונה Signed Config מאפשרת הטמעת תצורה של הגבלות ממשק שאינן SDK ב-APKs. זה מאפשר להסיר ממשקים ספציפיים שאינם SDK מהרשימה השחורה, כך ש-AndroidX יוכל להשתמש בהם בבטחה. עם השינוי הזה, AndroidX יכול להוסיף תמיכה בתכונות חדשות בגרסאות אנדרואיד ישנות יותר.

ביצועים

שכבת הפשטה של ​​Cgroup

אנדרואיד 10 כולל שכבת הפשטה של ​​cgroup ופרופילי משימות, שבהם מפתחים יכולים להשתמש כדי לתאר קבוצה של הגבלות להחלה על שרשור או תהליך.

Daemon Killer Memory Low (lmkd)

אנדרואיד 10 תומך במצב lmkd חדש המשתמש בצגי מידע על עיכוב לחץ ליבה (PSI) לזיהוי לחץ זיכרון.

כּוֹחַ

ניהול צריכת חשמל בפלטפורמה

באנדרואיד 10, ניתן להפעיל מצב Doze במכשירים שפועלים תמיד וגם במכשירים המופעלים על ידי סוללה.

חיסכון בסוללה שגרתי

אנדרואיד 10 מציגה אפשרות חדשה לחיסכון בסוללה שנקראת מבוסס על שגרה . חיסכון שגרתי בסוללה מאפשר לאפליקציה שנבחרה על ידי ה-OEM לספק אותות למערכת לתזמון חכם יותר של חיסכון בסוללה. אפשרות זו דורשת תצורה, והיא אופציונלית ליישום.

סטטיסטיקת כוח HAL

באנדרואיד 10, IPowerStats.hal מחליף את ממשקי ה-API לאיסוף נתונים סטטיסטיים של כוח ב- IPower.hal . בעוד שהכוח HAL עדיין תומך בממשקי ה- API, הם יועברו אך ורק לסטטיסטיקות הכוח HAL בעתיד.

הסטטיסטיקה הסטטיסטית HAL כוללת ממשקי API חדשים לתמיכה באיסוף נתונים ממדידת כוח במכשיר, עבור מכשירים נתמכים. ממשקי ה- API של אוסף הסטטיסטיקה הקיימים מתעדכנים גם כדי לשפר את הגמישות. ממשקי ה- API של הרמזת הכוח נשארים בכוח האל ואינם משתנים.

הפחתה תרמית

המסגרת התרמית בממשקי מכשירי Android 10 מופשטים עבור חיישן הטמפרטורה למערכת המשנה התרמית, כולל מעבד, GPU, סוללה, עור ומכשיר קירור. המסגרת מציגה ממשק קלפי למצב תרמי שאילתה כדי להתחיל מצערת, וממשק התקשרות חוזרת לשליחת הודעה למשתמש כאשר חורג סף.

Android 10 מספק את סוגי הנתונים החדשים דרך ממשק ה- IThermalService באמצעות שלוש השיטות החדשות הללו:

אפליקציות מוסיפות ומסירות מאזינים ומצב טמפרטורה גישה בכיתה PowerManager . רק שירות מערכות מהימן כמו API של API או API של יצרן מכשירים יכול לגשת למידע על אירועים סיבתיים קשורים. על יצרני מכשירים או יצרני SOC ליישם thermal HAL 2.0 כדי לאפשר את הפונקציונליות המלאה של המסגרת התרמית החדשה.

לדוגמא ליישום הפחתה תרמית, עיין ביישום ההתייחסות .

עדכונים

פורמט קובץ Apex

Android Pony Express (APEX) הוא פורמט מיכל חדש המשמש בזרימת ההתקנה לרכיבי מערכת מודולרית.

מחיצות דינמיות

מחיצות דינמיות מציגות מערכת חלוקת מרחב משתמשים לאנדרואיד, ומאפשרת ליצור, לשנות או להרוס מחיצות במהלך עדכוני OTA. יצרני מכשירים לא צריכים לדאוג לגדלים האישיים של מחיצות, כגון system , vendor product . במקום זאת, מוקצה מחיצה super גדולה אחת, וניתן להיות חלקי משנה באופן דינמי באופן דינמי.

עדכוני מערכת דינמיים

עדכוני מערכת דינמיים (DSU) מאפשרים לך ליצור תמונת מערכת אנדרואיד שמשתמשים יכולים להוריד מהאינטרנט ולנסות ללא סיכון להשחית את תמונת המערכת הנוכחית.

גיבוי ושחזור מרובי -סיבוב

אנדרואיד 10 תומך בגיבוי ושחזור פונקציונליות עבור כל המשתמשים במכשיר. בעבר, גיבוי ושחזור היו זמינים רק למשתמש המערכת. גיבוי ושחזור עבור משתמשי Nonsystem כבוי כברירת מחדל מכיוון שיש לו רק כיסוי חלקי להגדרות, טפטים ורכיבי מערכת.

שכבות -על

משתמשים העובדים עם userdebug או eng builds מצפים שיוכלו להחזיר ביעילות את מחיצת המערכת כ- read-write ואז להוסיף או לשנות כל מספר קבצים מבלי לשחזר את תמונת המערכת. באפשרותך להשתמש Overlayfs , המגדירים אוטומטית אחסון גיבוי למערכת קבצים הניתנת לכתיבה כהפניה עליונה, ומתקבל מעל התחתון. פעולות אלה מתרחשות בבקשות adb disable-verity ובבקשות adb remount . לפרטים נוספים, עיין ב- README -vespyFS ב- AOSP.

תמיכה בספריה משותפת במצב התאוששות

באנדרואיד 10, ספריות משותפות זמינות במחיצת השחזור, המבטלת את הצורך של כל ההפעלה של מצב התאוששות להיות סטטיים. הספריות המשותפות ממוקמות תחת ספריית /system/lib (או /system/lib64 עבור מכשירי 64 סיביות) במחיצה.

כדי להוסיף ספרייה משותפת חדשה למחיצת השחזור, הוסף recovery_available: true או recovery: true Android.bp של הספרייה המשותפת. הראשון מתקין את הספרייה הן למחיצות המערכת והן למחיצות התאוששות, ואילו האחרון מתקין אותה רק למחיצת השחזור.

לא ניתן לבנות תמיכה בספריה משותפת עם מערכת הבנייה מבוססת Android. כדי להמיר הפעלה סטטית קיימת למצב התאוששות לזו דינאמית, הסר LOCAL_FORCE_STATIC_EXECUTABLE := true ב- Android.mk או static_executable: true (ב- Android.bp ).

מחסום נתוני משתמש (UDC)

Android 10 מציג את תכונת מחסום נתוני המשתמש (UDC) , המאפשרת לאנדרואיד לחזור למצב הקודם שלה כאשר עדכון אנדרואיד באוויר (OTA) נכשל.