Ghi chú phát hành của 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 đường 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 web này.

Tạo

java_sdk_library

Android 10 giới thiệu java_sdk_library, một quy tắc bản dựng mới để khắc phục các vấn đề về khả năng tương thích cho các thư viện Java dùng chung. 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ọ.

Kiến trúc

Thành phần hệ thống mô-đun

Android 10 chia một số thành phần hệ thống Android thành các mô-đun và cho phép cập nhật các thành phần này ngoài chu kỳ phát hành thông thường của Android. 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ợ cho HAL để tự động tắt khi không có ứng dụng nào.

Kernel

ABI

Android 10 có hỗ trợ 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 các thay đổi về ABI của nhân ảnh hưởng đến khả năng tương thích với các mô-đun nhân.

Android 10 cũng giới thiệu một trình kiểm tra việ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 tạo sẵn đã lỗi thời tại thời điểm tạo, để các nhà phát triển thư viện dùng chung có thể biết những tệp nhị phân tạo sẵn nào có thể bị hỏng do thay đổi của họ và những tệp nhị phân tạo sẵn nào phải được tạo lại.

Trình nền Live-Lock của Android

Android 10 có Trình nền Live-Lock Android (llkd), được thiết kế để phát hiện và giảm thiểu tình trạng bế tắc của nhân.

vDSO32 trên ARM64

Android 10 hỗ trợ việc sử dụng vDSO32 trên các 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.

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

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

HIDL

Tinh gọn BroadcastQueue

Android 10 có một offload BroadcastQueue mới cho các hàng đợi backgroundforeground hiện có. Hàng đợi chuyển tải có cùng mức độ ưu tiên và hành vi hết thời gian chờ như hàng đợi ở chế độ nền. Để ngăn chặn việc chặn hàng đợi ở chế độ nền (nơi có thể xảy ra các thông báo truyền tin thú vị hơn hoặc người dùng có thể nhìn thấy), hàng đợi tải lên sẽ xử lý thông báo truyền tin BOOT_COMPLETED. Nhiều ứng dụng sẽ lắng nghe thông báo này và có thể mất nhiều thời gian để hoàn tất. Hàng đợi chuyển tải hiện chỉ xử lý thông báo truyền tin BOOT_COMPLETED, nhưng có thể xử lý các thông báo truyền tin dài khác.

Dịch vụ SystemSuspend

Android 10 thay thế luồng trong libsuspend chịu trách nhiệm khởi tạo chế độ tạm ngưng hệ thống bằng dịch vụ SystemSuspend HIDL. Quy trình 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, đồng thời tận dụng các 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 hợp nhất được gắn thẻ rõ ràng, trong HIDL.

Cấu hình

HAL ConfigStore

Android 10 không dùng ConfigStore HAL nữa 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.

Config File Schema API

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, giản đồ của tệp XML đóng vai trò là giao diện trên hai phân vùng. Do đó, bạn phải chỉ định rõ ràng giản đồ và giản đồ 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 giản đồ XML, hoặc để ngăn các thay đổi không tương thích trong giản đồ. Android 10 cung cấp cơ chế này, được gọi là Config File Schema API.

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 lập sơ đồ thành các tệp mô tả sysprop và các API để truy cập vào 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 về nhân vào các gói OTA
  • Chính thức tạo tệp kê khai ODM
  • Thêm bảng ma trận tương thích của sản phẩm
  • Liên kết một mục nhập tệp kê khai với một mô-đun HAL trong hệ thống xây dựng

Trình tải khởi động

Ramdisk

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

Tạo các phân vùng ODM

Android 10 hỗ trợ tạo các phân vùng odm bằng hệ thống tạo của Android. Bạn có thể sử dụng một phân vùng /odm riêng cho các chế độ tuỳ chỉnh, cho phép bạn sử dụng một hình ảnh của nhà cung cấp cho nhiều SKU phần cứng. Điều này cho phép nhà sản xuất thiết kế gốc (ODM) tuỳ chỉnh các gói hỗ trợ bảng (BSP) của nhà cung cấp hệ thống trên một chip (SoC) cho các thiết bị cụ thể của họ (các bảng của họ). Họ có thể triển khai các mô-đun kernel cho các thành phần dành riêng cho bảng mạch, các trình nền dành riêng cho bảng mạch hoặc các tính năng riêng của 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 tuỳ chỉnh các thành phần SoC.

Phân 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, trong đó có một phần để lưu trữ hình ảnh blob cây thiết bị (DTB). Các kiểm thử VTS Android 10 xác minh rằng tất cả thiết bị khởi động bằng Android 10 đều sử dụng phiên bản 2 của tiêu đề hình ảnh khởi động và có một hình ảnh DTB hợp lệ trong số các 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ủ. 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. Android 10 trở lên có hỗ trợ các cấu trúc sử dụng ACPI thay vì blob DeviceTree cho lớp phủ (DTBO).

AIDL ổn định

Android 10 bổ sung khả năng hỗ trợ Ngôn ngữ định nghĩa giao diện Android (AIDL) ổn định, một cách thức 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 các giao diện AIDL cung cấp.

Di chuyển fastboot sang không gian người dùng

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

Màn hình

Phát video HDR

Android 10 hỗ trợ chế độ phát HDR10, VP9 và HDR10+.

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

Phân loại văn bản sử dụng các kỹ thuật học máy để giúp nhà phát triển phân loại văn bản. Android 10 giới thiệu 2 phương thức cho TextClassifier API: suggestConversationActionsdetectLanguage. Phương thức suggestConversationActions tạo ra các câu trả lời và hành động đề xuất từ một cuộc trò chuyện nhất định, còn phương thức detectLanguage 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ì phông chữ này 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 kết hợp cả Unicode tiếng Miến Điện và Zawgyi. Bạn không cần triển khai gì để hỗ trợ kết xuất phông chữ Zawgyi trên các thiết bị chạy Android 10. Nếu các thiết bị của bạn có một chế độ triển khai tuỳ chỉnh để hỗ trợ Zawgyi, bạn có thể:

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

Hạn chế đối với việc ẩn biểu tượng ứng dụng

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

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

Cài đặt

Để cải thiện khả năng hỗ trợ tiếp cận, Android 10 có các chế độ cài đặt thời gian chờ mà người dùng có thể tuỳ chỉnh. API và các thay đổi về Cài đặt sẽ có trong Android 10. Nếu bạn tuỳ chỉnh phần Cài đặt, hãy nhớ kiểm tra để đảm bảo tính năng này được hỗ trợ. Nếu bạn có các thành phần trên giao diện người dùng hết thời gian chờ trên thiết bị, hãy sử dụng API 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 hỗ trợ tiếp cận dành cho nhà phát triển Android.

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

Tài liệu định nghĩa về khả năng tương thích (CDD) cho Android

Tài liệu định nghĩa về 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 các bản cập nhật cho những tính năng mới và thay đổi đối với các yêu cầu về chức năng đã phát hành trước đó.

Kiểm thử

Bộ kiểm tra tính tương thích (CTS)

CTS Android có một 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 CTS xuống

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

APEX shim CTS

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

Chế độ khai thác kiểm thử

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

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

Kể từ Android 10, CTS chạy ở chế độ Ứng dụng tức thì, tức là cài đặt APK kiểm thử dưới dạng Ứng dụng tức thì và chạy các kiểm thử.

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ì

Thử nghiệm âm thanh chuyên nghiệp của Trình xác minh CTS

Android 10 bổ sung một bài kiểm thử CTS Verifier cho khả năng tuân thủ Pro Audio.

Các kiểm thử MIDI của Trình xác minh CTS

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

Diễn giải kết quả kiểm thử CTS

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

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

Kiểm thử VTS bằng ramdisk gỡ lỗi

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

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

Xác thực Hardware Composer

Android 10 thêm một lớp kiểm thử VTS mới để xác thực Hardware Composer thông qua giao diện readback trong IComposerClient.hal. Nếu nhà cung cấp không triển khai readback, các kiểm thử sẽ tự động vượt qua.

Gỡ lỗi

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

Trong Android 9 trở xuống, các ứng dụng đã tải các thư viện dùng chung Java được liên kết trong trình tải lớp của ứng dụng. Trong Android 10, khung này sử dụng một 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 dùng chung Java được liên kết thông qua uses-library hoặc uses-static-library.

Nhìn chung, các ứng dụng không nên dựa vào việc sử dụng một trình tải lớp cụ thể, vì vậy, thay đổi này sẽ không làm gián đoạn 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 tải lớp duy nhất, thì hành vi đó sẽ bị gián đoạn. Ngoài ra, chế độ hiển thị chỉ dành cho gói 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 các thư viện dùng chung.

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

Các tính năng bảo mật

Để xem danh sách đầy đủ hơn về các điểm cải tiến chỉ liên quan đến tính bảo mật và quyền riêng tư, hãy xem trang Các điểm cải tiến về tính 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 bằng khuôn mặt cho phép người dùng mở khoá thiết bị 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 một ngăn xếp xác thực khuôn mặt mới có thể xử lý an toàn các khung hình từ camera, duy trì 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 để các hoạt động triển khai tuân thủ bảo mật 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 dùng bởi các cơ chế xác thực cấp ba như Smart Lock) chỉ có thể kéo dài thời gian mở khoá trên Android 10. Các tác nhân tin cậy không thể mở khoá thiết bị bị khoá nữa và chỉ có thể duy trì trạng thái mở khoá cho thiết bị trong tối đa 4 giờ.

Mã hóa

OEMCrypto

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

Thử nghiệm

BoundsSanitizer

Android 10 triển khai BoundsSanitizer (BoundSan) trong Bluetooth và các bộ mã hoá và giải mã. BoundSan sử dụng trình dọn dẹp ranh giới của UBSan. Biện pháp giảm thiểu này được bật ở cấp độ từng mô-đun. Dịch vụ này giúp bảo mật các thành phần quan trọng của Android và bạn không nên tắt dịch vụ này. BoundSan được bật trong các bộ mã hoá và giải mã sau:

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

Vệ sinh tràn số nguyên

Android 10 cho phép Integer Overflow Sanitization (IntSan) trong các bộ mã hoá và giải mã phần mềm. Đảm bảo hiệu suất phát ở mức chấp nhận được đối với mọi bộ mã hoá và giải mã 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 các tệp nhị phân hệ thống AArch64 được đánh dấu là chỉ thực thi (không đọ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 sử dụng lại mã tức thì. Mã kết hợp dữ liệu và mã với nhau, cũng như mã cố ý kiểm tra các phần này (mà không cần ánh xạ lại các phân đoạn bộ nhớ dưới dạng có thể đọc) sẽ không còn hoạt động. 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ố gắng đọc các phần mã của thư viện hệ thống đã bật bộ nhớ chỉ thực thi (XOM) trong bộ nhớ mà không đánh dấu phần đó là có thể đọc được.

Scudo

Scudo là một trình phân bổ bộ nhớ chế độ người dùng động được thiết kế để có khả năng chống lại các lỗ hổng liên quan đến vùng nhớ đệm hiệu quả hơn. Thư viện này cung cấp các nguyên tắc cơ bản về việc phân bổ và giải phóng C tiêu chuẩn, cũng như các nguyên tắc cơ bản về C++.

ShadowCallStack

ShadowCallStack (SCS) là một chế độ đo LLVM giúp bảo vệ chống lại việc ghi đè địa chỉ trả về (chẳng hạn như tràn bộ đệm ngăn xếp) bằng cách lưu địa chỉ trả về của một hàm vào một phiên bản ShadowCallStack được phân bổ riêng trong prolog của hàm đối với các hàm không phải là hàm lá và tải địa chỉ trả về từ phiên bản ShadowCallStack trong epilog của hàm.

Âm thanh

HAL âm thanh

Android 10 có các chức năng mới sau đây cho HAL âm thanh.

  • AudioSource
  • AudioFormat
  • AudioChannelMask

Thêm các yêu cầu bổ sung đối với việc triển khai HAL và hệ thống con âm thanh.

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, kiểm soát độ khuếch đại tự động và khử tiếng ồn. Android 10 có các yêu cầu mới đối với việc chụp bằng VOICE_COMMUNICATION.

Trình quản lý chính sách âm thanh

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

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

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

  • Hỗ trợ số thực dấu phẩy động
  • Hỗ trợ tần số 192 KHz
  • Hỗ trợ 8 kênh
  • Bao gồm thông tin về thời gian

Chụp đồng thời

Android 10 cải thiện trải nghiệm người dùng chụp đồng thời. Tính năng này yêu cầu nhiều hoạt động chụp âm thanh đang hoạt động diễn ra đồng thời.

AudioPlaybackCapture

Android 10 có một API mới tên là AudioPlaybackCapture, cho phép các ứng dụng sao chép âm thanh do các ứng dụng khác phát. Tính năng này tương tự như tính năng chụp 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 do trò chơi phát.

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

MIDI

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

Camera

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

Cải thiện quyền riêng tư trong khung camera

Android 10 giới thiệu các điểm cải tiến về quyền riêng tư cho khung camera. Để tránh tiết lộ thông tin tĩnh có khả năng nhạy cảm của camera 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ề quyền riêng tư bằng phương thức getCameraCharacteristics.

Để lấy danh sách các khoá đặc điểm của camera yêu cầu quyền CAMERA, hãy gọi phương thức getKeysNeedingPermission.

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

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

API quản lý vùng đệm Camera HAL3

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

Công tắc camera vật lý động HAL của camera

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

Hỗ trợ việc ẩn camera thực

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

Camera2 VNDK API

Trong Android 10, các mô-đun của nhà cung cấp có thể truy cập và kiểm soát các thiết bị camera thông qua 2 giao diện HIDL tiêu chuẩn mới, android.frameworks.cameraservice.service@2.0android.frameworks.cameraservice.device@2.0. Để thuận tiện hơn khi sử dụng các giao diện HIDL, Android 10 cũng giới thiệu một thư viện do nhà cung cấp cung cấp, libcamera2_vendor. Thư viện này tương tự như thư viện Camera NDK, với một số điểm 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 máy ảnh quảng cáo các luồng camera được đề xuất cho các ứng dụng camera và hỗ trợ API để truy vấn các tổ hợp luồng.

Yêu cầu về việc kết hợp luồng camera

Các thiết bị chạy Android 10 không còn phải hỗ trợ các tổ hợp luồng có luồng camera phụ thực nữa. Tuy nhiên, các thiết bị chạy Android 10 có phiên bản thiết bị HAL camera 3.5 phải hỗ trợ isStreamCombinationSupported() để cho phép các ứng dụng truy vấn xem có hỗ trợ tổ hợp luồng chứa các luồng thực hay không.

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

Tạo ảnh HEIF

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

Camera đơn sắc

Android 10 hỗ trợ thêm định dạng luồng Y8, siêu dữ liệu tĩnh của mảng bộ lọc màu đơn sắc và cận hồng ngoại (NIR), cũng như các hàm DngCreator cho camera đơn sắc.

Khả năng 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 hỗ trợ tốt hơn cho tính năng gọi khẩn cấp. Trong trường hợp khẩn cấp, các thiết bị hỗ trợ IRadio HAL phiên bản 1.4 có thể bắt đầu cuộc gọi khẩn cấp bằng cách sử dụng số điện thoại khẩn cấp được truy xuất từ một nguồn như thẻ SIM, tín hiệu mạng hoặc cơ sở dữ liệu Android. Bạn có thể phân loại số điện thoại dựa trên các danh mục dịch vụ khẩn cấp như cảnh sát, cứu hoả và xe cứu thương.

API cuộc gọi nhóm

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

Các tính năng SIM từ xa

Android 10 giới thiệu các chức 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 thông 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 về eSIM

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

5G Non-Standalone (NSA)

Android 10 bổ sung tính năng hỗ trợ 5G không độc lập (NSA). 5G NSA là một giải pháp cho mạng 5G, trong đó mạng này được hỗ trợ bởi cơ sở hạ tầng 4G hiện có. Trên Android 10, các thiết bị có thể hiển thị biểu tượng 5G trên thanh trạng thái khi 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ụ đề xuất tài khoản điện thoại, cho phép người dùng thấy các đề xuất về tài khoản điện thoại khi thực hiện cuộc gọi.

Nhà mạng

Di chuyển chế độ cài đặt mạng di động

Android 10 đã tái cấu trúc mã giao diện người dùng của phần cài đặt Mạng di động và di chuyển mã này 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 sau đây của chế độ cài đặt Mạng di động 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ị

Giá trị nhận dạng thiết bị cố định (IMEI/MEID, IMSI và số sê-ri bản dựng) được bảo vệ bằng một quyền đặc biệt, đồng thờ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ì IMSI và số sê-ri SIM do nhà mạng cung cấp, nên các gói có đặc quyền của nhà mạng sẽ được cấp quyền truy cập vào các giá trị nhận dạng này.

Wi-Fi

Lựa chọn mạng

Android liên tục đánh giá chất lượng của mạng đã kết nối và đánh giá chất lượng của các mạng có sẵn. 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 tìm mạng ưu tiên để truyền dữ liệu qua Wi-Fi

Android 10 giới thiệu một phương thức API không bắt buộc có tên là setDeviceMobilityState() trong WifiManager. Phương thức này làm tăng khoảng thời gian giữa các lần quét tải mạng ưu tiên (PNO) khi thiết bị ở trạng thái tĩnh để giảm mức tiêu thụ điện.

Wi-Fi của nhà mạng

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 các mạng Wi-Fi đã định cấu hình của nhà mạng (các mạng có chứng chỉ khoá công khai).

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. Tính năng này sử dụng giao thức cung cấp thiết bị (DPP) do Wi-Fi Alliance (WFA) giới thiệu để cung cấp và định cấu hình các thiết bị Wi-Fi.

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

Android 10 ra mắt 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ập nhật

dnsmasq sẽ bị xoá trong quá trình hình thành một nhóm dịch vụ "Máy chủ IP". 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 giúp cải thiện độ bảo mật và khả năng cập nhật cho máy chủ DHCP. Để biết thêm thông tin, hãy xem packages/modules/NetworkStack/src/android/net/dhcp/DhcpServer.java.

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

WPA3 và Wi-Fi Enhanced Open

Android 10 bổ sung khả năng hỗ trợ các tiêu chuẩn bảo mật Wi-Fi Protected Access 3 (WPA3) và Wi-Fi Enhanced Open để tăng cường quyền riêng tư 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 gọi là Wi-Fi P2P) cho phép các thiết bị hỗ trợ tìm 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 vào Internet hoặc mạng di động.

Các điểm cải tiến về tính năng tạo địa chỉ MAC ngẫu nhiên

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

Passpoint R2

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

NFC

Bảo mật NFC

NFC bảo mật chỉ cho phép bật tính năng mô phỏng thẻ NFC ngoài thiết bị lưu trữ khi màn hình của thiết bị đang mở khoá. Khi triển khai tính năng này, người dùng có thể bật chế độ NFC bảo mật để tăng cường 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 thức sau đây đã không đượ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.

Đồ hoạ

ASurfaceControl

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

Triển khai đồ hoạ

Lớp OpenGL ES

Android 10 ra mắt một 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 Khronos phát hành bản đặc tả EGL 1.5.

Vulkan

Android 10 hỗ trợ đồ hoạ Vulkan 1.1. Nền tảng này cũng hỗ trợ VK_KHR_swapchain phiên bản 70, vì vậy, ứng dụng Vulkan có thể tạo VkImage được hỗ trợ bởi bộ nhớ chuỗi hoán đổi.

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

Android 10 bổ sung tính năng 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.

Tương tác

Automotive

Âm thanh trên ô tô

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

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

Android 10 giới thiệu một lựa chọn cho chế độ thao tác 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 Thao tác bằng cử chỉ trên trang web dành cho nhà phát triển Android.

Mạng nơ-ron

Android 10 giới thiệu các bản cập nhật cho Neural Networks API và Neural Networks HAL. Để xem nội dung tóm tắt về các thay đổi, hãy xem phần Mạng nơ-ron.

Tài liệu mới và được cập nhật về Mạng nơron cho Android 10:

Cảm biến

HAL (Lớp trừu tượng phần cứng) cảm biến 2.0

Sensors HAL 2.0 hỗ trợ việc sử dụng hàng đợi thông báo 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 có một chế độ cài đặt dành cho nhà phát triển để tắt tất cả cảm biến trên thiết bị. Tính năng này giúp nhà phát triển kiểm thử 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 kiểm soát các cảm biến trong thiết bị của họ.

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

Nội dung nghe nhìn

Các thành phần nội dung nghe nhìn có thể cập nhật

Android 10 cung cấp các thành phần nội dung nghe nhì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 nội dung nghe nhìn thông qua cơ sở hạ tầng của Cửa hàng Google Play hoặc thông qua cơ chế cập nhật qua mạng (OTA) do đối tác cung cấp.

DRM cho nội dung nghe nhìn

Android 10 cải thiện tính hữu ích và khả năng sử dụng của các API MediaDrm Java và NDK.

Giải mã

Android 10 hỗ trợ tính năng 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.

Trình cung cấp danh bạ và thông tin về mối quan hệ

Kể từ Android 10, dữ liệu liên quan đến mối quan hệ với danh bạ do thành phần Trình cung cấp danh bạ quản lý sẽ được truy cập theo cách khác so với trong Android 9 trở xuống. Những thay đổi này liên quan đến khả năng truy cập dữ liệu, giúp 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 Contacts Provider. Cơ sở dữ liệu cơ bản không còn chứa dữ liệu về mối quan hệ với người liên hệ nữa. Do đó, các ứng dụng không thể ghi hoặc đọc dữ liệu từ bộ nhớ này.

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

Quyền truy cập thông tin vị trí ở trạng thái ba

Quyền truy cập thông tin vị trí ở 3 trạng thái trong Android 10 giúp người dùng kiểm soát chặt chẽ hơn cách các ứng dụng truy cập thông tin vị trí trên thiết bị của họ.

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

Android 10 có nhắc nhở về quyền truy cập thông tin vị trí ở chế độ nền, giúp tăng tính minh bạch về mức độ truy cập của các ứng dụng vào thông tin 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 yêu cầu thông tin vị trí của thiết bị, ứng dụng có thể đợi phản hồi yêu cầu hoặc nhận thông tin cập nhật vị trí theo cơ hội bằng cách sử dụng các trình nghe vị trí đang hoạt động. Bắt đầu từ Android 10, để nhận được thông báo cập nhật vị trí theo cơ hội, nhà phát triển phải chỉ định rằng họ cần thông báo cập nhật vị trí thụ động từ lớp FusedLocationProviderClient.

Ứng dụng nền khởi chạy

Trong Android 10, các ứng dụng không có đặc quyền mà không có cửa sổ hiển thị không thể tự động chạy trên nền trước. Thay đổi này sẽ ngăn chặn các cửa sổ bật lên quảng cáo và các hành vi xâm nhập độc hại. Bạn không cần làm gì để bật tính năng này.

Chạy ứng dụng trong môi trường hộp cát

Trong Android 10, các ứng dụng có chế độ xem thô bị giới hạn về hệ thống tệp, 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 giữ 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ởi mọi phương thức áp dụng, 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.

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

Hạn chế quyền truy cập vào bảng nhớ tạm của ứng dụng

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

Trong Android 10, quyền đọc chỉ được phép cấp cho ứng dụng hiện tại có tiêu điểm nhập hoặc cho bàn phím hiện tại. Giờ đây, lệnh gọi trình nghe ClipboardManager.onPrimaryClipChanged() chỉ kích hoạt cho những ứng dụng đáp ứng các quy tắc hạn chế đó. ClipboardManager.getPrimaryClipClipboardManager.getPrimaryClipDescription sẽ 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 (IME) mặc định hoặc không có tiêu điểm nhập.

Quyền khi bắt đầu chạy bao gồm cả quyền nhận dạng hoạt động

Giờ đây, người dùng sẽ thấy một hộp thoại nhận dạng hoạt động khi một ứng dụng truy cập thông tin vị trí của thiết bị ở chế độ nền. Các quyền trong thời gian chạy bị hạn chế nghiêm ngặt phải được đưa vào danh sách cho phép đúng cách 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 nền tảng ký mới có thể đặt các ứng dụng khác làm quản trị viên thiết bị.

Cải tiến API chia sẻ

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

Android Runtime (ART)

Cấu hình đã ký

Tính năng Cấu hình đã ký cho phép nhúng cấu hình về các hạn chế đối với giao diện không phải SDK trong APK. Điều này cho phép xoá các giao diện không phải SDK cụ thể khỏi danh sách chặn, để AndroidX có thể sử dụng các giao diện đó một cách an toàn. Nhờ thay đổi này, AndroidX có thể thêm tính năng hỗ trợ cho các tính năng mới trên các phiên bản Android cũ.

Hiệu suất

Lớp trừu tượng cgroup

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

Trình nền đóng các tiến trình ít cần thiết khi còn ít dung lượng (lmkd)

Android 10 hỗ trợ một chế độ lmkdmới sử dụng các trình giám sát thông tin về tình trạng tắc nghẽn do áp lực nhân (PSI) để phát hiện áp lực bộ nhớ.

Sức mạnh

Quản lý nguồn của nền tảng

Trong Android 10, bạn có thể bật Chế độ Doze 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.

Trình tiết kiệm pin theo thói quen

Android 10 giới thiệu một lựa chọn mới cho lịch biểu của trình tiết kiệm pin, đó là dựa trên thói quen. Trình tiết kiệm pin theo thói quen cho phép một ứng dụng do 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. Bạn phải định cấu hình tuỳ chọn này và không bắt buộc phải triển khai.

HAL số liệu thống kê về mức tiêu thụ điện

Trong Android 10, IPowerStats.hal sẽ thay thế các API thu thập số liệu thống kê về mức tiêu thụ điện trong IPower.hal. Mặc dù HAL nguồn vẫn hỗ trợ các API này, nhưng chúng sẽ được di chuyển hoàn toàn sang HAL số liệu thống kê về nguồn trong tương lai.

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

Giảm nhiệt

Khung nhiệt trong Android 10 trừu tượng hoá các giao diện thiết bị cho cảm biến nhiệt độ của hệ thống con nhiệt, bao gồm CPU, GPU, pin, da và thiết bị làm mát. Khung này giới thiệu một giao diện thăm dò ý kiến để truy vấn trạng thái nhiệt nhằm bắt đầu điều tiết, và một giao diện gọi lại để gửi thông báo cho người dùng khi vượt quá một ngưỡng.

Android 10 cung cấp các kiểu dữ liệu mới thông qua giao diện IThermalService bằng 3 phương thức mới sau:

Các ứng dụng thêm và xoá trình nghe cũng như truy cập vào trạng thái nhiệt trong lớp PowerManager. Chỉ dịch vụ hệ thống đáng tin cậy (chẳng hạn như API Android hoặc API của nhà sản xuất thiết bị) mới có thể truy cập vào thông tin về các sự kiện nhân quả liên quan. 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 để bật đầy đủ chức năng của khung nhiệt mới.

Để biết ví dụ về cách triển khai biện pháp giảm nhiệt, hãy xem Triển khai tham chiếu.

Thông tin cập nhật

Định dạng tệp APEX

Android Pony EXpress (APEX) là một định dạng vùng chứa mới được dùng trong quy trình cài đặt cho các thành phần hệ thống theo mô-đun.

Phân vùng động

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 cho Android, cho phép tạo, đổi kích thước hoặc huỷ các phân vùng trong quá trình cập nhật qua mạng (OTA). Nhà sản xuất thiết bị không cần lo lắng về 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 phân vùng super lớn sẽ được phân bổ và các phân vùng con có thể được điều chỉnh kích thước linh hoạt trong phân vùng đó.

Bản cập nhật hệ thống động

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

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

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

Overlayfs

Người dùng sử dụng bản dựng userdebug hoặc eng mong muốn có thể gắn lại phân vùng hệ thống một cách hiệu quả dưới dạng đọc-ghi, sau đó thêm hoặc sửa đổi bất kỳ số lượng tệp nào mà không cần flash lại hình ảnh hệ thống. Bạn có thể sử dụng Overlayfs. Lệnh này sẽ tự động thiết lập bộ nhớ dự phòng cho một hệ thống tệp có thể ghi dưới dạng một tham chiếu trên và gắn kết trên bộ nhớ dưới. Các thao tác này diễn ra trong các yêu cầu adb disable-verityadb remount. Để biết thêm thông tin chi tiết, hãy xem phần README của Overlayfs trong AOSP.

Hỗ trợ thư viện dùng chung ở chế độ khôi phục

Trong Android 10, các thư viện dùng chung có trong phân vùng khôi phục, giúp loại bỏ nhu cầu về việc tất cả các tệp thực thi ở chế độ khôi phục đều phải ở trạng thái tĩnh. Các thư viện dùng chung nằm trong thư mục /system/lib (hoặc /system/lib64 đối với thiết bị 64 bit) trong phân vùng.

Để thêm một thư viện dùng chung mới vào phân vùng khôi phục, hãy thêm recovery_available: true hoặc recovery: true vào Android.bp của thư viện dùng chung. Lệnh trước cài đặt thư viện vào cả phân vùng hệ thống và phân vùng khôi phục, trong khi lệnh sau chỉ cài đặt thư viện vào phân vùng khôi phục.

Bạn không thể tạo tính năng hỗ trợ thư viện dùng chung bằng hệ thống xây dựng dựa trên make của Android. Để chuyển đổi một tệp thực thi tĩnh hiện có cho chế độ khôi phục thành một tệp thực thi động, hãy xoá LOCAL_FORCE_STATIC_EXECUTABLE := true trong Android.mk hoặc static_executable: true (trong 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 lại trạng thái trước đó khi bản cập nhật Android qua mạng (OTA) không thành công.