Ghi chú phát hành Android 10

Trang này tóm tắt các tính năng chính trong bản phát hành Android 10 và cung cấp các liên kết đến thông tin bổ sung. Các bản tóm tắt tính năng này được sắp xếp theo vị trí tài liệu của tính năng trên trang này.

Xây dựng

java_sdk_library

Android 10 giới thiệu java_sdk_library , một quy tắc xây dựng mới để khắc phục các sự cố tương thích cho các thư viện Java dùng chung. Các nhà sản xuất thiết bị có thể sử dụng cơ chế này cho các thư viện Java dùng chung của riêng họ để duy trì khả năng tương thích ngược cho các API của họ.

Ngành kiến ​​​​trúc

Các thành phần hệ thống mô-đun

Android 10 mô-đun hóa một số thành phần hệ thống Android và cho phép chúng được cập nhật ngoài chu kỳ phát hành Android thông thường. Một số mô-đun bao gồm:

Lớp trừu tượng phần cứng (HAL)

Android 10 bổ sung tính năng hỗ trợ HAL tự động tắt khi không có ứng dụng khách.

hạt nhân

ABI

Android 10 bao gồm hỗ trợ cho các tiện ích giám sát ABI mới để giúp so sánh, theo dõi và giảm thiểu những thay đổi ABI kernel ảnh hưởng đến khả năng tương thích với các mô-đun kernel.

Android 10 cũng giới thiệu trình kiểm tra mức sử dụng ABI dựa trên biểu tượng. Trình kiểm tra có thể phát hiện các tệp nhị phân dựng sẵn đã lỗi thời tại thời điểm xây dựng, để các nhà phát triển thư viện dùng chung có thể biết tệp nhị phân dựng sẵn nào có thể bị hỏng do thay đổi của họ và tệp nhị phân dựng sẵn nào phải được xây dựng lại.

Daemon khóa trực tiếp của Android

Android 10 bao gồm Android Live-Lock Daemon (llkd) , được thiết kế để phát hiện và giảm thiểu tình trạng bế tắc trong kernel.

vDSO32 trên ARM64

Android 10 hỗ trợ sử dụng vDSO32 trên nhân 64 bit , giúp tăng thời lượng pin thêm 0,4% và cải thiện hiệu suất khác.

mục fstab cho các phân vùng được gắn sớm

Android 10 yêu cầu thiết bị chỉ định mục fstab cho các phân vùng được gắn sớm bằng tệp fstab trong đĩa ram giai đoạn đầu.

HIDL

Giảm tải BroadcastQueue

Android 10 bao gồm một BroadcastQueue giảm tải mới cho hàng đợi nềnnền trước hiện có. Hàng đợi giảm tải có cùng mức độ ưu tiên và thời gian chờ như hàng đợi nền. Để ngăn chặn việc chặn hàng đợi nền, nơi có thể xảy ra các chương trình phát sóng thú vị hơn hoặc hiển thị cho người dùng hơn, hàng đợi giảm tải sẽ xử lý chương trình phát BOOT_COMPLETED mà nhiều ứng dụng nghe và có thể mất nhiều thời gian để hoàn thành. Hàng đợi giảm tải hiện chỉ xử lý chương trình phát sóng BOOT_COMPLETED nhưng có khả năng xử lý các chương trình phát sóng dài khác.

Hệ thốngTạm dừng dịch vụ

Android 10 thay thế luồng trong libsuspend chịu trách nhiệm bắt đầu tạm ngưng hệ thống bằng dịch vụ SystemSuspend HIDL . Việc triển khai này cung cấp chức năng tương đương với các phiên bản trước trong khi tận dụng lợi ích từ cơ sở hạ tầng HIDL của Android.

safe_union trong HIDL

Android 10 giới thiệu safe_union , một loại kết hợp được gắn thẻ rõ ràng trong HIDL.

Cấu hình

Cấu hìnhHAL

Android 10 không còn dùng ConfigStore HAL do mức tiêu thụ bộ nhớ cao và khó sử dụng, đồng thời thay thế HAL bằng các thuộc tính hệ thống .

API lược đồ tệp cấu hình

Nền tảng Android chứa một số lượng lớn tệp XML để lưu trữ dữ liệu cấu hình. Nhiều tệp XML nằm trong phân vùng vendor nhưng chúng được đọc trong phân vùng system . Trong trường hợp này, lược đồ của tệp XML đóng vai trò là giao diện giữa hai phân vùng và do đó lược đồ phải được chỉ định rõ ràng và phải phát triển theo cách tương thích ngược. Trước Android 10, nền tảng này không cung cấp cơ chế yêu cầu chỉ định và sử dụng lược đồ XML hoặc ngăn chặn những thay đổi không tương thích trong lược đồ. Android 10 cung cấp cơ chế này, được gọi là API Lược đồ tệp cấu hình .

Thuộc tính hệ thống dưới dạng API

Các thuộc tính hệ thống được truy cập trên các phân vùng được sơ đồ hóa thành các tệp mô tả sysprop và các API để truy cập các thuộc tính được tạo dưới dạng các hàm cụ thể cho C++ và các lớp cho Java.

Đối tượng giao diện nhà cung cấp (VINTF)

VINTF

Những thay đổi đối với VINTF trong Android 10 bao gồm:

  • Ngừng sử dụng thẻ phiên bản AVB
  • Thêm thông tin kernel trong gói OTA
  • Xây dựng bản kê khai ODM chính thức
  • Thêm ma trận tương thích sản phẩm
  • Liên kết mục nhập tệp kê khai với mô-đun HAL trong hệ thống xây dựng

Bộ nạp khởi động

Đĩa RAM

Trong Android 10, hệ thống tệp gốc không còn được bao gồm trong ramdisk.img mà thay vào đó được hợp nhất vào system.img .

Xây dựng phân vùng ODM

Android 10 bao gồm hỗ trợ xây dựng phân vùng odm bằng hệ thống xây dựng Android. Bạn có thể sử dụng một phân vùng /odm riêng để tùy chỉnh, điều này cho phép bạn sử dụng một hình ảnh nhà cung cấp duy nhất cho nhiều SKU phần cứng. Điều này cho phép các nhà sản xuất thiết kế ban đầu (ODM) tùy chỉnh các gói hỗ trợ bảng mạch (BSP) của nhà cung cấp hệ thống trên chip (SoC) cho các thiết bị cụ thể (bảng mạch của họ). Họ có thể triển khai các mô-đun hạt nhân cho các thành phần dành riêng cho bo mạch, các trình nền dành riêng cho bo mạch hoặc các tính năng của riêng họ trên các lớp trừu tượng phần cứng (HAL). Họ cũng có thể thay thế hoặc tùy chỉnh các thành phần SoC.

Phiên bản tiêu đề hình ảnh khởi động

Android 10 cập nhật tiêu đề hình ảnh khởi động lên phiên bản 2, bao gồm một phần để lưu trữ hình ảnh blob cây thiết bị (DTB). Các thử nghiệm VTS của Android 10 xác minh rằng tất cả các thiết bị chạy Android 10 đều sử dụng tiêu đề hình ảnh khởi động phiên bản 2 và bao gồm hình ảnh DTB hợp lệ như một phần của hình ảnh khởi động/khôi phục.

Hình ảnh khôi phục cho các thiết bị không phải A/B

Trong Android 9 trở lên, hình ảnh khôi phục của thiết bị phải chứa thông tin từ hình ảnh lớp phủ . Các nhà sản xuất thiết bị có thể sử dụng DeviceTree hoặc Advanced Configuration and Power Interface (ACPI) để mô tả tất cả các thiết bị không thể phát hiện được. Android 10 trở lên bao gồm hỗ trợ cho các kiến ​​trúc sử dụng ACPI thay vì blob DeviceTree cho lớp phủ (DTBO).

AIDL ổn định

Android 10 bổ sung hỗ trợ cho Ngôn ngữ định nghĩa giao diện Android (AIDL) ổn định, một cách mới để theo dõi giao diện chương trình ứng dụng (API)/giao diện nhị phân ứng dụng (ABI) do giao diện AIDL cung cấp.

Di chuyển fastboot vào không gian người dùng

Android 10 bổ sung hỗ trợ cho các phân vùng có thể thay đổi kích thước bằng cách di chuyển quá trình triển khai fastboot từ bộ nạp khởi động sang không gian người dùng.

Trưng bày

Phát lại video HDR

Android 10 hỗ trợ phát lại HDR10, VP9 và HDR10+ .

Phân loại văn bản

Phân loại văn bản sử dụng kỹ thuật máy học để giúp nhà phát triển phân loại văn bản. Android 10 giới thiệu hai phương thức cho API TextClassifier: suggestConversationActionsdetectLanguage . Phương thức suggestConversationActions tạo ra các câu trả lời và hành động được đề xuất từ ​​một cuộc hội thoại nhất định và phương thức detectLanguage sẽ phát hiện ngôn ngữ của văn bản.

Hỗ trợ hiển thị phông chữ Zawgyi

Zawgyi là phông chữ phổ biến nhất ở Myanmar. Android 9 trở xuống không hỗ trợ hiển thị Zawgyi vì nó không tuân thủ Unicode . Android 10 giải quyết vấn đề này bằng cách đưa vào một phông chữ Unicode có khả năng hiển thị cả tiếng Unicode Miến Điện và tiếng Zawgyi cùng nhau. Không cần thực hiện công việc triển khai nào để hỗ trợ hiển thị phông chữ Zawgyi trên các thiết bị chạy Android 10. Nếu thiết bị của bạn có cách triển khai tùy chỉnh để hỗ trợ Zawgyi, bạn có thể:

  • Hoàn nguyên những thay đổi đó và sử dụng phương pháp được nền tảng hỗ trợ.
  • Giữ phông chữ Zawgyi phổ biến trong hệ thống của bạn và sử dụng mã ngôn ngữ my-qaag trong fonts.xml của bạn. Để biết thêm thông tin, hãy xem ghi chú phát hành Unicode CLDR trên Zawgyi (Qaag) .

Hạn chế của việc ẩn biểu tượng ứng dụng

Android 10 giới hạn khả năng ứng dụng ẩn biểu tượng trình khởi chạy của chúng. Nếu một ứng dụng không bật hoạt động của trình khởi chạy thì hệ thống sẽ hiển thị hoạt động tổng hợp trong trình khởi chạy; hoạt động tổng hợp này thể hiện trang chi tiết của ứng dụng trong cài đặt hệ thống.

Để biết thêm thông tin về logic dùng để hiển thị biểu tượng ứng dụng, bao gồm các loại ứng dụng có biểu tượng ứng dụng không được hiển thị, hãy xem tài liệu về getActivityList() trong tài liệu tham khảo API.

Cài đặt

Để cải thiện khả năng truy cập, Android 10 bao gồm cài đặt thời gian chờ có thể tùy chỉnh của người dùng. Các thay đổi về API và Cài đặt đi kèm với Android 10. Nếu bạn tùy chỉnh Cài đặt của mình, hãy đảm bảo rằng tính năng này được hỗ trợ. Nếu bạn có các thành phần giao diện người dùng hết thời gian chờ trên thiết bị của mình, hãy sử dụng API hết thời gian chờ trên các thành phần đó. Để biết thêm thông tin, hãy xem nguyên tắc trợ năng dành cho nhà phát triển Android .

Khả năng tương thích

Tài liệu định nghĩa tương thích với Android (CDD)

Tài liệu định nghĩa khả năng tương thích của Android 10 lặp lại các phiên bản trước với bản cập nhật cho các tính năng mới và thay đổi về yêu cầu đối với chức năng đã phát hành trước đó.

Kiểm tra

Bộ kiểm tra khả năng tương thích (CTS)

Android CTS có trang ghi chú phát hành riêng liệt kê nhiều thay đổi quan trọng đối với Android 10.

tải xuống CTS

Các gói CTS hỗ trợ Android 10 có sẵn trên trang Tải xuống CTS . Mã nguồn của các thử nghiệm đi kèm có thể được đồng bộ hóa với thẻ android-cts-10_r1 trong cây nguồn mở.

CTS miếng chêm APEX

Android 10 giới thiệu một gói có tên CtsShimApex , gói này phải được cài đặt sẵn trên thiết bị để viết các bài kiểm tra CTS cho việc quản lý APEX.

Chế độ khai thác thử nghiệm

Chế độ khai thác thử nghiệm CTS giúp nhà phát triển tự động hóa việc thử nghiệm cho một thiết bị hoặc một nhóm thiết bị.

Chế độ Ứng dụng tức thì

Bắt đầu từ Android 10, CTS chạy ở chế độ Ứng dụng tức thì , nghĩa là cài đặt APK thử nghiệm dưới dạng Ứng dụng tức thì và chạy thử nghiệm.

Ngoài chế độ CTS cho Ứng dụng tức thì, Android 10 còn có Trình xác minh CTS cho Ứng dụng tức thì

Kiểm tra âm thanh chuyên nghiệp của CTS Verifier

Android 10 bổ sung tính năng kiểm tra Trình xác minh CTS để tuân thủ Pro Audio .

Kiểm tra MIDI của Trình xác minh CTS

Trong Android 10, bài kiểm tra MIDI của Trình xác minh CTS sẽ kiểm tra chức năng MIDI với giao diện USB MIDI, giao diện Bluetooth MIDI và đường dẫn thiết bị MIDI ảo.

Giải thích bài kiểm tra CTS

Android 10 cập nhật cơ chế diễn giải kết quả CTS .

Bộ thử nghiệm nhà cung cấp (VTS)

Kiểm tra VTS với ramdisk gỡ lỗi

Trong Android 10, hình ảnh hệ thống chung (GSI) dùng để chạy thử nghiệm tuân thủ CTS-on-GSI/VTS thay đổi từ userdebug sang loại bản dựng người dùng, vì GSI đã được ký phát hành. Tuy nhiên, lệnh adb root cấp quyền root máy chủ cho thiết bị Android đang được thử nghiệm không có sẵn trong bản dựng của người dùng. Đây là một vấn đề vì VTS yêu cầu adb root để chạy.

Đĩa RAM gỡ lỗi được giới thiệu để có thể adb root nếu thiết bị được mở khóa. Điều này giúp đơn giản hóa quy trình thử nghiệm bằng cách sử dụng lại cùng một bản dựng system.img của người dùng (GSI hoặc system.img của OEM).

Xác thực trình soạn thảo phần cứng

Android 10 bổ sung lớp kiểm tra VTS mới để xác thực Trình soạn thảo phần cứng thông qua giao diện readback trong IComposerClient.hal . Nếu nhà cung cấp không triển khai readback , các bài kiểm tra sẽ tự động vượt qua.

Gỡ lỗi

Tải các thư viện dùng chung với các trình nạp lớp khác nhau

Trong Android 9 trở xuống, các ứng dụng đã tải thư viện chia sẻ Java được liên kết của chúng trong trình tải lớp của ứng dụng. Trong Android 10, khung sử dụng trình tải lớp khác với trình tải lớp của ứng dụng để tải các thư viện chia sẻ Java được liên kết thông qua uses-library hoặc uses-static-library .

Nói chung, ứng dụng không nên phụ thuộc vào việc sử dụng trình tải lớp cụ thể, vì vậy thay đổi này sẽ không phá vỡ hành vi của ứng dụng. Tuy nhiên, nếu một ứng dụng dựa vào việc sử dụng một trình nạp lớp duy nhất thì hành vi đó sẽ bị hỏng. Ngoài ra, khả năng hiển thị gói riêng tư của các lớp trong cùng một gói vẫn được hỗ trợ nhưng không được hỗ trợ trong thư viện dùng chung.

Các nhà sản xuất thiết bị có thể gặp sự cố về khả năng tương thích của ứng dụng khi họ kiểm tra thiết bị chạy Android 10 của mình.

Tính năng bảo mật

Để biết danh sách đầy đủ hơn các cải tiến chỉ liên quan đến bảo mật và quyền riêng tư, hãy xem trang cải tiến về bảo mật và quyền riêng tư của Android 10 .

Xác thực khuôn mặt

Xác thực khuôn mặt cho phép người dùng mở khóa thiết bị của họ chỉ bằng cách nhìn vào mặt trước của thiết bị. Android 10 bổ sung hỗ trợ cho ngăn xếp xác thực khuôn mặt mới có thể xử lý khung camera một cách an toàn, đảm bảo tính bảo mật và quyền riêng tư trong quá trình xác thực khuôn mặt trên phần cứng được hỗ trợ. Android 10 cũng cung cấp một cách dễ dàng để triển khai tuân thủ bảo mật nhằm cho phép tích hợp ứng dụng cho các giao dịch như ngân hàng trực tuyến hoặc các dịch vụ khác.

Quyền truy cập mở rộng

Tác nhân tin cậy, cơ chế cơ bản được sử dụng bởi các cơ chế xác thực bậc ba như Smart Lock, chỉ có thể mở rộng khả năng mở khóa trong Android 10. Tác nhân tin cậy không thể mở khóa thiết bị bị khóa nữa và chỉ có thể giữ thiết bị luôn mở khóa trong tối đa 4 giờ.

Mã hóa

OEMCrypto

Android 10 sử dụng API OEMCrypto phiên bản 15.

Kiểm tra

Giới hạnKhử trùng

Android 10 triển khai BoundsSanitizer (BoundSan) trong Bluetooth và codec. BoundSan sử dụng chất khử trùng giới hạn của UBSan. Giảm thiểu này được kích hoạt ở cấp độ mỗi mô-đun. Nó giúp giữ an toàn cho các thành phần quan trọng của Android và không nên bị tắt. BoundSan được bật trong các codec sau:

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

Vệ sinh tràn số nguyên

Android 10 kích hoạt tính năng Integer Overflow Sanitization (IntSan) trong codec phần mềm. Đảm bảo rằng hiệu suất phát lại có thể chấp nhận được đối với mọi codec không được hỗ trợ trong phần cứng của thiết bị. IntSan được bật trong các codec sau:

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

Bộ nhớ chỉ thực thi

Theo mặc định, các phần mã thực thi cho tệp nhị phân của hệ thống AArch64 được đánh dấu là chỉ thực thi (không thể đọc được) như một biện pháp giảm thiểu tăng cường chống lại các cuộc tấn công tái sử dụng mã đúng lúc. Mã kết hợp dữ liệu và mã với nhau cũng như mã kiểm tra có mục đích các phần này (không ánh xạ lại các phân đoạn bộ nhớ trước để có thể đọc được) sẽ không còn hoạt động nữa. Các ứng dụng có SDK mục tiêu là Android 10 (API cấp 29 trở lên) sẽ bị ảnh hưởng nếu ứng dụng cố đọc các phần mã của thư viện hệ thống hỗ trợ bộ nhớ thực thi (XOM) trong bộ nhớ mà không đánh dấu phần đó là có thể đọc được trước.

Scudo

Scudo là một công cụ cấp phát bộ nhớ ở chế độ người dùng động được thiết kế để có khả năng phục hồi tốt hơn trước các lỗ hổng liên quan đến heap. Nó cung cấp các nguyên hàm phân bổ và phân bổ C tiêu chuẩn, cũng như các nguyên hàm C++.

BóngCuộc GọiChồng

ShadowCallStack (SCS) là chế độ thiết bị LLVM bảo vệ chống ghi đè địa chỉ trả về (như tràn bộ đệm ngăn xếp) bằng cách lưu địa chỉ trả về của hàm vào một phiên bản ShadowCallStack được phân bổ riêng trong nhật ký hàm của các hàm không có lá và tải địa chỉ trả về từ phiên bản ShadowCallStack trong phần kết của hàm.

Âm thanh

Âm thanh HAL

Android 10 bao gồm các khả năng mới sau đây cho âm thanh HAL .

  • AudioSource
  • AudioFormat
  • AudioChannelMask

Các yêu cầu bổ sung được thêm vào để triển khai HAL âm thanh và hệ thống con.

Hiệu ứng tiền xử lý

Android cung cấp các hiệu ứng tiền xử lý , chẳng hạn như loại bỏ tiếng vọng âm thanh, điều khiển khuếch đại tự động và khử tiếng ồn. Android 10 bao gồm các yêu cầu mới để chụp bằng VOICE_COMMUNICATION .

Người quản lý chính sách âm thanh

Android 10 bao gồm việc tái cấu trúc đáng kể trình quản lý chính sách âm thanh để mang lại sự linh hoạt hơn nhằm hỗ trợ các trường hợp sử dụng ô tô phức tạp.

Âm thanh độ phân giải cao

Android 10 bao gồm những cải tiến sau cho âm thanh có độ phân giải cao .

  • Hỗ trợ nổi
  • Hỗ trợ tần số 192 KHz
  • Hỗ trợ tám kênh
  • Bao gồm thông tin thời gian

Chụp đồng thời

Android 10 cải thiện trải nghiệm người dùng ghi đồng thời , yêu cầu nhiều lần ghi âm đang hoạt động diễn ra đồng thời.

Phát lại âm thanhChụp

Android 10 chứa một API mới có tên AudioPlaybackCapture , cung cấp cho các ứng dụng khả năng sao chép âm thanh đang được các ứng dụng khác phát. Tính năng này tương tự như chụp ảnh màn hình nhưng dành cho âm thanh. Trường hợp sử dụng chính là cho phép các ứng dụng phát trực tuyến ghi lại âm thanh đang được phát bởi trò chơi.

API chụp không ảnh hưởng đến độ trễ của ứng dụng có âm thanh được ghi.

MIDI

Android 10 giúp việc chuyển các ứng dụng âm thanh chuyên nghiệp sử dụng MIDI sang nền tảng Android dễ dàng hơn bằng API AMidi NDK .

Máy ảnh

Để biết tóm tắt về những thay đổi đối với API máy ảnh, HAL máy ảnh và mô-đun máy ảnh được giới thiệu trong Android 10, hãy xem Bản cập nhật máy ảnh Android 10 .

Cải thiện quyền riêng tư của khung máy ảnh

Android 10 giới thiệu các cải tiến về quyền riêng tư cho hệ thống camera. Để tránh tiết lộ thông tin camera tĩnh có khả năng nhạy cảm trong CameraCharacteristics mà không có sự đồng ý của người dùng, các ứng dụng phải có quyền CAMERA để truy xuất siêu dữ liệu tĩnh bằng thẻ nhạy cảm với quyền riêng tư bằng phương thức getCameraCharacteristics .

Để có danh sách các phím đặc trưng của máy ảnh yêu cầu quyền CAMERA , hãy gọi phương thức getKeysNeedingPermission .

Truy vấn cấu hình lại phiên

Android 10 bổ sung tính năng truy vấn cấu hình lại phiên , cho phép cải thiện hiệu suất thông qua khả năng kiểm soát nhiều hơn đối với logic cấu hình lại tham số phiên nội bộ.

API quản lý bộ đệm HAL3 của máy ảnh

Android 10 giới thiệu các API quản lý bộ đệm HAL3 của máy ảnh tùy chọn cho phép bạn triển khai logic quản lý bộ đệm để đạt được sự cân bằng về bộ nhớ và độ trễ ghi khác nhau trong quá trình triển khai HAL của máy ảnh.

Camera chuyển đổi camera vật lý động HAL

Android 10 giới thiệu thẻ siêu dữ liệu động ANDROID_LOGICAL_MULTI_CAMERA_ACTIVE_PHYSICAL_ID , cho biết camera vật lý cơ bản đang hoạt động của thiết bị camera logic. Để biết thêm thông tin, hãy xem Hỗ trợ nhiều camera .

Hỗ trợ ẩn camera vật lý

Trong Android 10, camera HAL có thể giảm số lượng camera vật lý mà một ứng dụng có thể mở trực tiếp. Để biết thêm chi tiết, hãy xem Hỗ trợ nhiều camera .

API Camera2 VNĐK

Trong Android 10, các mô-đun của nhà cung cấp có thể truy cập và điều khiển các thiết bị camera thông qua hai giao diện HIDL tiêu chuẩn mới là android.frameworks.cameraservice.service@2.0android.frameworks.cameraservice.device@2.0 . Để giúp việc sử dụng giao diện HIDL thuận tiện hơn, Android 10 cũng giới thiệu thư viện có sẵn của nhà cung cấp, libcamera2_vendor . Thư viện này tương tự như thư viện Camera NDK , với một vài sửa đổi nhỏ.

Cấu hình luồng

Android 10 bổ sung các tính năng cho phép nhà cung cấp camera quảng cáo các luồng camera được đề xuất cho ứng dụng khách camera và hỗ trợ API để kết hợp luồng truy vấn .

Yêu cầu kết hợp luồng camera

Các thiết bị chạy Android 10 không còn cần phải hỗ trợ kết hợp luồng với luồng máy ảnh phụ vật lý. Tuy nhiên, các thiết bị chạy Android 10 có camera HAL phiên bản 3.5 phải hỗ trợ isStreamCombinationSupported() để cho phép các ứng dụng truy vấn xem liệu kết hợp luồng chứa luồng vật lý có được hỗ trợ hay không.

Để biết thêm thông tin, hãy xem Hỗ trợ nhiều camera .

hình ảnh HEIF

Android 10 cung cấp khả năng hỗ trợ máy ảnh gốc cho hình ảnh có định dạng tệp hình ảnh (HEIF) hiệu quả cao , mang lại chất lượng hình ảnh được cải thiện và kích thước nhỏ hơn so với hình ảnh JPEG. Thiết bị phải có bộ mã hóa HEIC hoặc HEVC để hỗ trợ hình ảnh HEIF.

Máy ảnh đơn sắc

Android 10 cung cấp hỗ trợ bổ sung cho định dạng luồng Y8, siêu dữ liệu tĩnh mảng bộ lọc màu đơn sắc và cận hồng ngoại (NIR) cũng như các chức năng DngCreator cho máy ảnh đơn sắc .

Kết nối

Gọi điện và nhắn tin

Số khẩn cấp và cuộc gọi khẩn cấp

Android 10 cung cấp khả năng hỗ trợ cải tiến cho cuộc gọi khẩn cấp . Trong trường hợp khẩn cấp, các thiết bị hỗ trợ IRadio HAL v1.4 có thể bắt đầu cuộc gọi khẩn cấp bằng cách sử dụng các số khẩn cấp được lấy từ một nguồn như thẻ SIM, tín hiệu mạng hoặc cơ sở dữ liệu Android. Các số có thể được phân loại dựa trên các loại dịch vụ khẩn cấp như cảnh sát, cứu hỏa và xe cứu thương.

API cuộc gọi nhóm

API cuộc gọi nhóm là phần mở rộng của API eMBMS được thêm vào Android 9. Các API mới xác định tiêu chuẩn để các ứng dụng tham gia và phát sóng trên các cuộc gọi nhóm phát sóng di động bằng cách tương tác với các gói phần mềm trung gian eMBMS. Cuộc gọi nhóm yêu cầu hỗ trợ từ nhà cung cấp chipset, nhà cung cấp phần mềm trung gian và nhà cung cấp dịch vụ di động để hoạt động bình thường. Tài liệu dành cho nhà phát triển được đặt tại dev.google.com .

Khả năng SIM từ xa

Android 10 giới thiệu tính năng SIM từ xa cho phép các ứng dụng nhắn tin trên thiết bị chủ Android gửi tin nhắn SMS qua điện thoại bằng các cơ chế như Bluetooth. Để biết thêm thông tin, hãy xem tài liệu tham khảo về phương thức getSubscriptionType và hằng số SUBSCRIPTION_TYPE_REMOTE_SIM .

Nhiều eSIM

Trong Android 10, lớp EuiccManager hỗ trợ các thiết bị có nhiều SIM nhúng (eSIM) hoặc eUICC.

cập nhật eSIM

Đối với các thiết bị chạy Android 10 hỗ trợ eSIM, phải xác định mảng ID khe cắm eUICC không thể tháo rời. Các thiết bị cũng phải hỗ trợ IRadio HAL v1.4 và IRadioConfig HAL v1.2. Để biết thêm thông tin, hãy xem Triển khai các yêu cầu về eSIMHAL .

5G Không Độc Lập (NSA)

Android 10 bổ sung hỗ trợ cho 5G không độc lập (NSA) 5G NSA là giải pháp dành cho mạng 5G trong đó mạng được hỗ trợ bởi cơ sở hạ tầng 4G hiện có. Trên Android 10, thiết bị có thể hiển thị biểu tượng 5G trên thanh trạng thái khi thiết bị kết nối với mạng 5G.

Đề xuất tài khoản điện thoại

Android 10 giới thiệu dịch vụ gợi ý tài khoản điện thoại , cho phép hiển thị gợi ý tài khoản điện thoại cho người dùng khi thực hiện cuộc gọi.

Vận chuyển

Di chuyển cài đặt Mạng di động

Android 10 đã thiết kế lại mã UI cài đặt Mạng di động và chuyển nó từ ngăn xếp Điện thoại sang ngăn xếp Cài đặt. Để hỗ trợ mã đã di chuyển, hãy thay đổi các giá trị cấu hình cài đặt Mạng di động sau từ tài nguyên Android thành tài nguyên 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

Mã nhận dạng thiết bị

Số nhận dạng thiết bị liên tục (IMEI/MEID, IMSI và sê-ri bản dựng) được bảo vệ bằng quyền đặc quyền với quyền truy cập cũng được cấp cho các ứng dụng của chủ sở hữu thiết bị và hồ sơ. Vì số sê-ri IMSI và SIM do nhà cung cấp dịch vụ cung cấp nên quyền truy cập vào các số nhận dạng này được cấp cho các gói có đặc quyền của nhà cung cấp dịch vụ.

Wifi

Lựa chọn mạng

Android liên tục đánh giá chất lượng của mạng được kết nối và đánh giá chất lượng của các mạng hiện có. Android 10 đã cập nhật các thuật toán và quy trình chọn và chuyển đổi giữa các mạng Wi-Fi .

Quét giảm tải mạng ưu tiên Wi-Fi

Android 10 giới thiệu một phương thức API tùy chọn có tên setDeviceMobilityState() trong WifiManager giúp tăng khoảng thời gian giữa các lần quét giảm tải mạng (PNO) ưu tiên khi thiết bị ở trạng thái tĩnh để giảm mức sử dụng năng lượng.

Wi-Fi của nhà cung cấp dịch vụ

Trong Android 10, các thiết bị có tính năng Wi-Fi của nhà mạng sẽ tự động kết nối với mạng Wi-Fi của nhà mạng đã định cấu hình (các mạng có chứng chỉ khóa chung).

Kết nối Wi-Fi dễ dàng

Trong Android 10, các thiết bị có thể sử dụng Wi-Fi Easy Connect , sử dụng giao thức cung cấp thiết bị (DPP) do Liên minh Wi-Fi (WFA) giới thiệu, để cung cấp và định cấu hình các thiết bị Wi-Fi.

Chế độ Wi-Fi có độ trễ thấp

Android 10 giới thiệu chế độ Wi-Fi có độ trễ thấp , chế độ này định cấu hình chip Wi-Fi để giảm độ trễ.

Máy chủ DHCP được cập nhật

Là một phần trong quá trình hình thành ô dịch vụ "Máy chủ IP", dnsmasq sẽ bị xóa. Android 10 thay thế việc sử dụng chức năng máy chủ DHCPv4 bằng một thành phần riêng biệt, chủ yếu được viết bằng Java để tích hợp tốt hơn với mặt phẳng điều khiển khung Java. Điều này cải thiện tính bảo mật và khả năng cập nhật cho máy chủ DHCP. Để biết thêm chi tiết, hãy xem packages/modules/NetworkStack/src/android/net/dhcp/DhcpServer.java .

Bạn không cần thực hiện hành động nào để thực hiện thay đổi này: tất cả các thiết bị phát hành và nâng cấp lên Android 10 đều sử dụng DhcpServer theo mặc định. Nếu bạn có các tùy chỉnh đối với máy chủ DHCP, bạn có thể hoàn nguyên về hoạt động của Android 9 bằng cách đặt cài đặt chung tether_enable_legacy_dhcp_server=1 . DhcpServer mới được bao gồm trong mô-đun thành phần mạng, vì vậy mọi tùy chỉnh đối với chức năng máy chủ DHCP đều phải được cập nhật ngược lại.

Mở rộng WPA3 và Wi-Fi

Android 10 bổ sung hỗ trợ cho các tiêu chuẩn bảo mật Wi-Fi Protected Access 3 (WPA3) và Wi-Fi Enhanced Open để cung cấp quyền riêng tư tốt hơn và khả năng chống lại các cuộc tấn công đã biết.

Wi-Fi Direct

Wi-Fi Direct , còn được gọi là Wi-Fi P2P, cho phép các thiết bị hỗ trợ khám phá và kết nối trực tiếp với nhau bằng giao thức Wi-Fi Direct mà không cần truy cập Internet hoặc mạng di động.

Cải tiến ngẫu nhiên MAC

Từ Android 10, tính năng ngẫu nhiên hóa MAC được bật theo mặc định cho chế độ máy khách, SoftAp và Wi-Fi Direct. Các thiết bị phải cung cấp tùy chọn bật hoặc tắt tính năng ngẫu nhiên hóa MAC cho từng SSID trong giao diện người dùng hệ thống.

Mật khẩu R2

Android 10 giới thiệu hỗ trợ cho các tính năng của Passpoint R2 Passpoint R2 triển khai đăng ký trực tuyến (OSU), một phương pháp tiêu chuẩn để cung cấp hồ sơ Passpoint mới. Android 10 hỗ trợ cung cấp cấu hình EAP-TTLS bằng SOAP-XML.

NFC

NFC an toàn

NFC an toàn cho phép chỉ bật mô phỏng thẻ NFC ngoài máy chủ khi màn hình của thiết bị được mở khóa. Việc triển khai tính năng này cung cấp cho người dùng tùy chọn bật NFC bảo mật để cải thiện tính bảo mật.

Android Beam không được dùng nữa

Trong Android 10, Android Beam không còn cần thiết nữa và các giao diện cũng như phương pháp sau không còn được dùng nữa.

Giao diện:

Phương pháp:

Để sử dụng Android Beam, hãy báo cáo hằng số tính năng android.sofware.nfc.beam .

đồ họa

ASurfaceControl

Android 10 bổ sung ASurfaceControl , một cách mới để SurfaceFlinger chấp nhận bộ đệm.

Triển khai đồ họa

Các lớp OpenGL ES

Android 10 giới thiệu hệ thống phân lớp cho GLES.

EGL 1.5

Android 10 triển khai giao diện EGL 1.5 . Để biết thông tin về các tính năng mới trong EGL 1.5, hãy xem Thông số kỹ thuật EGL 1.5 của Khronos phát hành .

Vulkan

Android 10 bao gồm hỗ trợ đồ họa Vulkan 1.1. Nền tảng này cũng hỗ trợ VK_KHR_swapchain v70, vì vậy ứng dụng Vulkan có thể tạo VkImage được hỗ trợ bởi bộ nhớ swapchain.

Tốc độ làm mới hiệu suất

Android 10 bổ sung hỗ trợ tốc độ làm mới hiệu suất. Tính năng này bị tắt theo mặc định.

Sự tương tác

ô tô

Âm thanh ô tô

Trong Android 10, ngữ cảnh Audio HAL ánh xạ tới AudioAttributes.usage để xác định âm thanh. Android hỗ trợ một phiên bản AUDIO_DEVICE_OUT_BUS cho mỗi ngữ cảnh. IAudioControl HAL cung cấp các tiện ích mở rộng dành riêng cho xe cho Audio HAL .

Điều hướng bằng cử chỉ

Android 10 giới thiệu tùy chọn điều hướng hệ thống hoàn toàn bằng cử chỉ. Để biết thông tin về cách chuẩn bị ứng dụng sử dụng tính năng này, hãy xem trang Điều hướng bằng cử chỉ trên trang web dành cho Nhà phát triển Android.

Mạng lưới thần kinh

Android 10 giới thiệu các bản cập nhật cho API Mạng thần kinh và HAL của Mạng thần kinh. Để biết tóm tắt về các thay đổi, hãy xem Mạng thần kinh .

Tài liệu Mạng thần kinh mới và cập nhật dành cho Android 10:

Cảm biến

Cảm biến HAL 2.0

Cảm biến HAL 2.0 hỗ trợ sử dụng hàng đợi tin nhắn nhanh (FMQ) để gửi các sự kiện cảm biến từ HAL vào Khung cảm biến Android.

Tắt cảm biến

Android 10 bao gồm cài đặt dành cho nhà phát triển để tắt tất cả các cảm biến trên thiết bị. Tính năng này giúp các nhà phát triển kiểm tra chức năng của ứng dụng trong trường hợp các cảm biến đó không hoạt động, đồng thời cung cấp cho người dùng cách điều khiển các cảm biến trong thiết bị của họ.

Nếu thiết bị của bạn sử dụng cách triển khai mặc định của SensorService , CameraServiceAudioPolicyService thì không cần tùy chỉnh bổ sung cho thiết kế tham chiếu. Nếu bạn có các cảm biến khác, hãy xem Tùy chỉnh để biết thêm chi tiết về cách hỗ trợ tính năng này.

Phương tiện truyền thông

Các thành phần phương tiện có thể cập nhật

Android 10 cung cấp các thành phần phương tiện có thể cập nhật cho phép cập nhật các thành phần hệ thống mô -đun liên quan đến phương tiện thông qua cơ sở hạ tầng Cửa hàng Google Play hoặc thông qua cơ chế không dây (OTA) do đối tác cung cấp.

DRM truyền thông

Android 10 cải thiện tiện ích và khả năng sử dụng của API MediaDrm Java và NDK.

Giải mã

Android 10 hỗ trợ giải mã AV1 SW.

Quyền

Android 10 cung cấp các cấu hình quyền bổ sung để đảm bảo tính minh bạch và quyền riêng tư của người dùng.

Thông tin về nhà cung cấp liên hệ và mối quan hệ

Bắt đầu từ Android 10, dữ liệu liên quan đến sở thích liên hệ do thành phần Nhà cung cấp Danh bạ quản lý sẽ được truy cập khác với Android 9 trở xuống. Những thay đổi này liên quan đến khả năng truy cập dữ liệu sẽ cải thiện quyền riêng tư của người dùng trên tất cả các thiết bị Android 10 sử dụng thành phần Nhà cung cấp Danh bạ. Cơ sở dữ liệu cơ bản không còn chứa dữ liệu về mối quan hệ liên hệ nữa. Do đó, ứng dụng không thể ghi hoặc đọc từ nó.

Những thay đổi trong Android 10 dự kiến ​​sẽ có tác động lớn đến API. Nếu ứng dụng của bạn dựa vào các tính năng không được dùng nữa được đề cập trong Thông tin về mối quan hệ và nhà cung cấp danh bạ, bạn có thể muốn cập nhật ứng dụng của mình để bù đắp cho mọi thay đổi. Ngoài ra, nếu bạn sử dụng phiên bản phân nhánh của Nhà cung cấp Danh bạ, bạn phải cập nhật Nhà cung cấp Danh bạ của mình.

Quyền vị trí của ba bang

Quyền vị trí tristate trong Android 10 cung cấp cho người dùng nhiều quyền kiểm soát hơn đối với cách ứng dụng truy cập vị trí thiết bị của họ.

Lời nhắc truy cập vị trí ở chế độ nền

Android 10 có tính năng nhắc nhở truy cập vị trí ở chế độ nền , giúp tăng tính minh bạch về mức độ truy cập của ứng dụng đối với vị trí của thiết bị và giúp người dùng duy trì quyền kiểm soát đối với quyền truy cập đó.

Hạn chế các vị trí cơ hội

Khi một ứng dụng yêu cầu vị trí của thiết bị, ứng dụng có thể đợi phản hồi yêu cầu hoặc bằng cách sử dụng trình xử lý vị trí đang hoạt động, nhận được bản cập nhật vị trí cơ hội. Bắt đầu từ Android 10, để nhận được các bản cập nhật vị trí cơ hội , nhà phát triển phải chỉ định rằng họ cần cập nhật vị trí thụ động từ lớp FusedLocationProviderClient .

Khởi chạy ứng dụng nền

Trong Android 10, các ứng dụng không có đặc quyền không có cửa sổ hiển thị không thể tự động khởi chạy lên nền trước. Thay đổi này ngăn chặn các quảng cáo bật lên và sự tiếp quản độc hại. Không cần thực hiện hành động nào để kích hoạt tính năng này.

Hộp cát ứng dụng

Trong Android 10, các ứng dụng có chế độ xem thô hạn chế đối với hệ thống tệp và không có quyền truy cập trực tiếp vào các đường dẫn như /sdcard/DCIM . Tuy nhiên, các ứng dụng vẫn có toàn quyền truy cập thô vào các đường dẫn dành riêng cho gói của chúng, như được trả về bằng bất kỳ phương thức hiện hành nào, chẳng hạn như Context.getExternalFilesDir() . Các ứng dụng vẫn có toàn quyền truy cập thô vào các đường dẫn dành riêng cho gói của chúng.

Sử dụng nguyên tắc hộp cát ứng dụng để chia sẻ tệp nhằm cung cấp mức độ chi tiết chia sẻ dữ liệu phù hợp.

Hạn chế quyền truy cập vào clipboard của ứng dụng

Trong Android 10, quyền truy cập bảng nhớ tạm đã thay đổi nên không thể xem nội dung bảng nhớ tạm bằng cách gọi ClipboardManager.getPrimaryClip hoặc bằng cách thêm trình nghe onPrimaryClipChangedListener để thông báo khi bảng nhớ tạm thay đổi. Điều này làm tăng quyền riêng tư của người dùng và vô hiệu hóa các ứng dụng quảng cáo độc hại sửa đổi bảng tạm.

Trong Android 10, quyền truy cập đọc chỉ được phép đối với ứng dụng hiện tại có tiêu điểm đầu vào hoặc bàn phím hiện tại. Lệnh gọi trình nghe ClipboardManager.onPrimaryClipChanged() hiện chỉ kích hoạt đối với các ứng dụng đáp ứng các hạn chế đó. ClipboardManager.getPrimaryClipClipboardManager.getPrimaryClipDescription trả về null nếu ứng dụng yêu cầu không phải là trình chỉnh sửa phương thức nhập mặc định (IME) hoặc không có tiêu điểm nhập.

Quyền thời gian chạy bao gồm nhận dạng hoạt động

Giờ đây, người dùng sẽ thấy hộp thoại nhận dạng hoạt động khi một ứng dụng truy cập vị trí thiết bị ở chế độ nền. Các quyền trong thời gian chạy bị hạn chế cứng phải được đưa vào danh sách trắng chính xác trong Android 10.

quyền MANAGE_DEVICE_ADMINS

Android 10 thay đổi quyền MANAGE_DEVICE_ADMINS từ chữ ký hoặc đặc quyền thành chỉ chữ ký. Điều này có nghĩa là chỉ những ứng dụng được ký nền tảng mới có thể đặt các ứng dụng khác làm quản trị viên thiết bị.

Chia sẻ cải tiến API

Android 10 cung cấp một số tính năng API nền tảng Android mới liên quan đến việc chia sẻ . Nếu bạn đã sửa đổi mã Bảng chia sẻ trong quá trình triển khai của mình, hãy đảm bảo rằng việc triển khai của bạn hỗ trợ các tính năng mới này. Nếu chưa sửa đổi mã Bảng chia sẻ trong quá trình triển khai của mình thì bạn không cần phải làm bất kỳ điều gì để hỗ trợ các tính năng mới này.

Thời gian chạy Android (ART)

Cấu hình đã ký

Tính năng Signed Config cho phép nhúng cấu hình hạn chế giao diện không phải SDK trong APK. Điều này cho phép xóa các giao diện không phải SDK cụ thể khỏi danh sách đen để AndroidX có thể sử dụng chúng một cách an toàn. Với thay đổi này, AndroidX có thể thêm hỗ trợ cho các tính năng mới trên các phiên bản Android cũ hơn.

Hiệu suất

Lớp trừu tượng Cgroup

Android 10 bao gồm lớp trừu tượng cgroup và hồ sơ nhiệm vụ mà nhà phát triển có thể sử dụng để mô tả một loạt hạn chế áp dụng cho một luồng hoặc một quy trình.

Daemon sát thủ bộ nhớ thấp (lmkd)

Android 10 hỗ trợ chế độ lmkd mới sử dụng màn hình thông tin ổn định áp suất lõi (PSI) để phát hiện áp suất bộ nhớ.

Quyền lực

Quản lý năng lượng nền tảng

Trong Android 10, chế độ Doze có thể được bật trên các thiết bị luôn bật cũng như trên các thiết bị chạy bằng pin.

Tiết kiệm pin thường xuyên

Android 10 giới thiệu tùy chọn lịch trình tiết kiệm pin mới có tên dựa trên thói quen . Bộ tiết kiệm pin thường xuyên cho phép một ứng dụng được OEM chọn để cung cấp tín hiệu cho hệ thống để lập lịch trình tiết kiệm pin thông minh hơn. Tùy chọn này yêu cầu cấu hình và là tùy chọn để thực hiện.

Thống kê sức mạnh HAL

Trong Android 10, IPowerStats.hal thay thế API Bộ sưu tập Thống kê Power trong IPower.hal . Mặc dù Power Hal vẫn hỗ trợ API, nhưng chúng sẽ được di chuyển độc quyền sang các thống kê Power HAL trong tương lai.

Các thống kê Power HAL bao gồm các API mới để hỗ trợ việc thu thập dữ liệu từ đo lường điện trên thiết bị, cho các thiết bị được hỗ trợ. Các API Bộ sưu tập Thống kê Power hiện có cũng được cập nhật để cải thiện tính linh hoạt. Các API gợi ý sức mạnh vẫn còn trong sức mạnh HAL và không thay đổi.

Giảm thiểu nhiệt

Khung nhiệt trong Android 10 tóm tắt các giao diện thiết bị cho cảm biến nhiệt độ hệ thống con nhiệt, bao gồm CPU, GPU, pin, da và thiết bị làm mát. Framework giới thiệu giao diện bỏ phiếu cho trạng thái nhiệt truy vấn để bắt đầu điều chỉnh và giao diện gọi lại để gửi tin nhắn cho người dùng khi vượt quá ngưỡng.

Android 10 cung cấp các loại dữ liệu mới thông qua giao diện IThermalService bằng ba phương pháp mới này:

Ứng dụng Thêm và xóa người nghe và truy cập trạng thái nhiệt độ trong lớp PowerManager . Chỉ một dịch vụ hệ thống đáng tin cậy như API API Android hoặc API của nhà sản xuất thiết bị mới có thể truy cập thông tin về các sự kiện nhân quả liên quan. Các nhà sản xuất thiết bị hoặc nhà sản xuất SOC phải triển khai thermal HAL 2.0 để cho phép toàn bộ chức năng của khung nhiệt mới.

Để biết ví dụ thực hiện giảm thiểu nhiệt, xem việc thực hiện tham chiếu .

Cập nhật

Định dạng tệp APEX

Android Pony Express (APEX) là một định dạng container mới được sử dụng trong luồng cài đặt cho các thành phần hệ thống mô -đun.

Phân vùng động

Các phân vùng động giới thiệu một hệ thống phân vùng không gian người dùng với Android, cho phép các phân vùng được tạo, thay đổi kích thước hoặc phá hủy trong các bản cập nhật OTA. Các nhà sản xuất thiết bị không phải lo lắng về các kích thước riêng lẻ của các phân vùng, chẳng hạn như system , vendorproduct . Thay vào đó, một super phân vùng lớn được phân bổ, và các phần phụ có thể được kích thước linh hoạt trong đó.

Cập nhật hệ thống động

Cập nhật hệ thống động (DSU) cho phép bạn tạo hình ảnh hệ thống Android mà người dùng có thể tải xuống từ Internet và thử mà không có nguy cơ làm hỏng hình ảnh hệ thống hiện tại.

Sao lưu và khôi phục nhiều người

Android 10 hỗ trợ chức năng sao lưu và khôi phục chức năng cho tất cả người dùng trên thiết bị. Trước đây, sao lưu và khôi phục chỉ có sẵn cho người dùng hệ thống. Sao lưu và khôi phục cho người dùng không có hệ thống bị tắt theo mặc định vì nó chỉ có phạm vi bảo hiểm một phần cho cài đặt, hình nền và các thành phần hệ thống.

Lớp phủ

Người dùng làm việc với các bản dựng của userdebug hoặc eng dự kiến ​​sẽ có thể kể lại một cách hiệu quả phân vùng hệ thống dưới dạng Read-Write và sau đó thêm hoặc sửa đổi bất kỳ số lượng tệp nào mà không cần giới thiệu hình ảnh hệ thống. Bạn có thể sử dụng Overlayfs , tự động thiết lập lưu trữ sao lưu cho một hệ thống tệp có thể ghi làm tham chiếu trên và gắn trên thấp hơn. Những hành động này xảy ra trong adb disable-verity -Yêu cầu adb remount . Để biết thêm chi tiết, hãy xem Overlayfs ReadMe trong AOSP.

Hỗ trợ thư viện được chia sẻ trong chế độ khôi phục

Trong Android 10, các thư viện được chia sẻ có sẵn trong phân vùng khôi phục, giúp loại bỏ sự cần thiết của tất cả các thực thi chế độ khôi phục là tĩnh. Các thư viện được chia sẻ được đặt trong thư mục /system/lib (hoặc /system/lib64 cho các thiết bị 64 bit) trong phân vùng.

Để thêm một thư viện được chia sẻ mới vào phân vùng khôi phục, hãy thêm recovery_available: true hoặc recovery: true với Android.bp của thư viện được chia sẻ. Cái trước cài đặt thư viện cho cả phân vùng hệ thống và khôi phục, trong khi phần sau chỉ cài đặt nó vào phân vùng phục hồi.

Hỗ trợ thư viện được chia sẻ không thể được xây dựng với hệ thống xây dựng dựa trên chế tạo của Android. Để chuyển đổi một thực thi tĩnh hiện có cho chế độ khôi phục thành một chế độ động, hãy xóa LOCAL_FORCE_STATIC_EXECUTABLE := true trong Android.mk hoặc static_executable: true (in Android.bp ).

Điểm kiểm tra dữ liệu người dùng (UDC)

Android 10 giới thiệu tính năng điểm kiểm tra dữ liệu người dùng (UDC) , cho phép Android quay trở lại trạng thái trước đó khi bản cập nhật Android Over-Air (OTA) không thành công.