Các thay đổi về khung tương thích (Android Archive14)

Hình 1. Màn hình Thay đổi về khả năng tương thích của ứng dụng trong Tuỳ chọn cho nhà phát triển liệt kê các thay đổi mà bạn bật/tắt được.

Trang này mô tả các thay đổi bật/tắt được, là một phần của khung tương thích trong Android 14 (API cấp 34). Hãy sử dụng danh sách này cùng với Tuỳ chọn cho nhà phát triển và lệnh ADB để thử nghiệm và gỡ lỗi ứng dụng khi bạn chuẩn bị hỗ trợ và nhắm mục tiêu Android 14.

Bạn có thể sử dụng các công cụ trong khung tương thích để làm một số việc sau đây:

  • Kiểm thử các thay đổi được nhắm mục tiêu mà không thực sự thay đổi targetSdkVersion của ứng dụng. Bạn có thể sử dụng nút bật/tắt để buộc bật những thay đổi cụ thể về hành vi được nhắm đến nhằm đánh giá tác động đối với ứng dụng hiện tại.
  • Chỉ tập trung kiểm thử những thay đổi cụ thể. Thay vì phải cùng lúc giải quyết mọi thay đổi được nhắm đến, nút bật/tắt cho phép bạn chỉ bật những thay đổi mà mình muốn kiểm thử.
  • Quản lý nút bật/tắt thông qua adb. Bạn có thể sử dụng các lệnh adb để bật và tắt các thay đổi bật/tắt được trong môi trường kiểm thử tự động.
  • Sử dụng mã nhận dạng thay đổi tiêu chuẩn để gỡ lỗi nhanh hơn. Các thay đổi bật/tắt được sẽ có một mã nhận dạng và tên duy nhất mà bạn có thể dùng để gỡ lỗi nhanh nguyên nhân gốc trong dữ liệu đầu ra của nhật ký.

Để biết toàn bộ thông tin chi tiết về cách sử dụng các công cụ đối với từng trường hợp sử dụng này, hãy xem bài viết Các công cụ khung tương thích.

Các thay đổi về hành vi được đưa vào khung tương thích

Danh sách trong phần này mô tả các thay đổi bật/tắt được có trong khung tương thích trong Android 14.

Bạn có thể lọc danh sách các thay đổi theo Trạng thái mặc định của các thay đổi đó.

Các thay đổi bật/tắt được trong khung tương thích trong Android 14

ACCESS_SHARED_IDENTITY

Mã thay đổi: 259743961
Trạng thái mặc định: Bật đối với tất cả ứng dụng.

Cấp quyền truy cập vào danh tính của ứng dụng đang khởi chạy nếu ứng dụng chọn chia sẻ danh tính bằng cách chạy hoạt động này bằng một thực thể của ActivityOptions, trong đó ActivityOptions.setShareIdentityEnabled(boolean) đã được gọi bằng giá trị true, hoặc nếu UID của hoạt động đã chạy giống với UID của ứng dụng đang khởi chạy. Khi thay đổi này được bật và một trong các yêu cầu sau được đáp ứng, hoạt động đó có thể truy cập vào UID và tên gói của ứng dụng đang khởi chạy bằng Activity.getLaunchedFromUid()Activity.getLaunchedFromPackage() tương ứng.

ANR_PRE_UDC_APIS_ON_SLOW_RESPONSES

Mã thay đổi: 258236856
Trạng thái mặc định: Bật đối với những ứng dụng nhắm đến Android 14 (API cấp 34) trở lên.

Khi bật, thông báo "Ứng dụng không phản hồi" (ANR) sẽ kích hoạt khi ứng dụng phản hồi chậm đối với các API và chức năng từ Android 13 (API cấp 33) trở xuống.

AUTHORITY_ACCESS_CHECK_CHANGE_ID

Mã thay đổi: 207133734
Trạng thái mặc định: Bật đối với những ứng dụng nhắm đến Android 14 (API cấp 34) trở lên.

Đối với các ứng dụng nhắm mục tiêu Android 14 (API cấp 34) trở lên, cho phép kiểm tra quyền truy cập đối với UID gọi trên tất cả các API liên quan đến việc đồng bộ hoá.

CAMERA_MIC_INDICATORS_NOT_PRESENT

Mã thay đổi: 162547999
Trạng thái mặc định: Tắt đối với tất cả ứng dụng.

Cho biết rằng thiết bị này có hỗ trợ các chỉ báo máy ảnh và micrô. Giá trị là false nếu có, vì phương thức CompatChanges#isChangeEnabled sẽ trả về true nếu không có Mã thay đổi.

DEFAULT_RESCIND_BAL_PRIVILEGES_FROM_PENDING_INTENT_SENDER

Mã thay đổi: 244637991
Trạng thái mặc định: Bật đối với những ứng dụng nhắm đến Android 14 (API cấp 34) trở lên.

Khi gửi một PendingIntent bằng PendingIntent#send() hoặc phương thức tương tự, giờ đây ứng dụng phải chọn sử dụng nếu muốn cấp đặc quyền khởi chạy hoạt động của riêng mình ở chế độ nền để bắt đầu ý định đang chờ xử lý.

Để tìm hiểu thêm về thay đổi này, hãy xem phần trong trang các thay đổi về hành vi của Android 14 liên quan đến những quy tắc hạn chế bổ sung đối với việc bắt đầu các hoạt động ở chế độ nền.

DETACH_THROWS_ISE_ONLY

Mã thay đổi: 236825255
Trạng thái mặc định: Bật đối với những ứng dụng nhắm đến Android 14 (API cấp 34) trở lên.

Gắn cờ cho trường hợp ngoại lệ chính xác do #detachImage gửi.

#detachImage được ghi nhận là gửi IllegalStateException trong trường hợp xảy ra lỗi; một phương thức trợ giúp gốc cho trường hợp này sẽ gửi RuntimeException nếu nền tảng bị bỏ qua trong khi tách Image.

Hành vi ngoại lệ không được ghi nhận trước đó vẫn tiếp tục xuất hiện trên Android 13 (API cấp 33).

Sau Android 13 (API cấp 33), phương thức trợ giúp gốc chỉ gửi IllegalStateExceptions theo các trường hợp ghi nhận trong tài liệu.

Khi bật thay đổi này, #detachImage chỉ gửi IllegalStateException nếu gặp lỗi trong khi tách hình ảnh. Hành vi vẫn không thay đổi đối với ứng dụng nhắm mục tiêu Android 13 (API cấp 33) trở xuống.

DOWNSCALED

Mã thay đổi: 168419799
Trạng thái mặc định: Tắt đối với tất cả ứng dụng.

Thay đổi này là yếu tố thúc đẩy tất cả thay đổi về việc giảm quy mô vùng đệm cho mỗi ứng dụng. Khi bật thay đổi này, hệ số tỷ lệ sau đây sẽ được áp dụng:

Khi thay đổi này được bật đối với một gói ứng dụng, ứng dụng sẽ bị buộc đổi kích thước thành hệ số tỷ lệ cao nhất được bật. Ví dụ: tỷ lệ 80% sẽ được sử dụng nếu bật cả tỷ lệ 80% và 70% (DOWNSCALE_80DOWNSCALE_70). Khi cả thay đổi này và DOWNSCALED_INVERSE đều được bật, thì DOWNSCALED_INVERSE sẽ được ưu tiên và hệ số tỷ lệ sẽ được áp dụng ngược lại.

DOWNSCALED_INVERSE

Mã thay đổi: 273564678
Trạng thái mặc định: Tắt đối với tất cả ứng dụng.

Thay đổi này là yếu tố thúc đẩy tất cả thay đổi về việc giảm quy mô nghịch đảo của vùng đệm cho mỗi ứng dụng. Khi bật thay đổi này, các hệ số tỷ lệ sau đây sẽ được áp dụng ngược lại (nghĩa là độ phân giải được tăng cường):

Khi thay đổi này được bật đối với một gói ứng dụng, ứng dụng sẽ bị buộc đổi kích thước thành hệ số tỷ lệ thấp nhất được bật. Ví dụ: tỷ lệ 80% sẽ được sử dụng nếu bật cả tỷ lệ 80% và 70% (DOWNSCALE_80DOWNSCALE_70) vì khi áp dụng ngược, hệ số tỷ lệ 80% sẽ bằng 125%, nhỏ hơn tỷ lệ 142,86% được áp dụng khi áp dụng ngược hệ số tỷ lệ 70%. Khi cả thay đổi này và DOWNSCALED đều được bật, thì DOWNSCALED_INVERSE sẽ được ưu tiên và hệ số tỷ lệ sẽ được áp dụng ngược lại.

DOWNSCALE_30

Mã thay đổi: 189970040
Trạng thái mặc định: Tắt đối với tất cả ứng dụng.

Nếu DOWNSCALED được bật cùng, việc bật thay đổi này cho một gói sẽ buộc ứng dụng giả định rằng nó đang chạy trên màn hình có tỷ lệ độ phân giải thực theo chiều dọc và chiều ngang là 30%. Nếu DOWNSCALED_INVERSE được bật cùng, việc bật thay đổi này cho một gói sẽ buộc ứng dụng giả định rằng nó đang chạy trên màn hình có tỷ lệ độ phân giải thực theo chiều dọc và chiều ngang là 333,33%.

DOWNSCALE_35

Mã thay đổi: 189969749
Trạng thái mặc định: Tắt đối với tất cả ứng dụng.

Nếu DOWNSCALED được bật cùng, việc bật thay đổi này cho một gói sẽ buộc ứng dụng giả định rằng nó đang chạy trên màn hình có tỷ lệ độ phân giải thực theo chiều dọc và chiều ngang là 35%. Nếu DOWNSCALED_INVERSE được bật cùng, việc bật thay đổi này cho một gói sẽ buộc ứng dụng giả định rằng nó đang chạy trên màn hình có tỷ lệ độ phân giải thực theo chiều dọc và chiều ngang là 285,71%.

DOWNSCALE_40

Mã thay đổi: 189970038
Trạng thái mặc định: Tắt đối với tất cả ứng dụng.

Nếu DOWNSCALED được bật cùng, việc bật thay đổi này cho một gói sẽ buộc ứng dụng giả định rằng nó đang chạy trên màn hình có tỷ lệ độ phân giải thực theo chiều dọc và chiều ngang là 40%. Nếu DOWNSCALED_INVERSE được bật cùng, việc bật thay đổi này cho một gói sẽ buộc ứng dụng giả định rằng nó đang chạy trên màn hình có 250% độ phân giải thực theo chiều dọc và chiều ngang.

DOWNSCALE_45

Mã thay đổi: 189969782
Trạng thái mặc định: Tắt đối với tất cả ứng dụng.

Nếu DOWNSCALED được bật cùng, việc bật thay đổi này cho một gói sẽ buộc ứng dụng giả định rằng nó đang chạy trên màn hình có tỷ lệ độ phân giải thực theo chiều dọc và chiều ngang là 45%. Nếu DOWNSCALED_INVERSE được bật cùng, việc bật thay đổi này cho một gói sẽ buộc ứng dụng giả định rằng nó đang chạy trên màn hình có tỷ lệ độ phân giải thực theo chiều dọc và chiều ngang là 222,22%.

DOWNSCALE_50

Mã thay đổi: 176926741
Trạng thái mặc định: Tắt đối với tất cả ứng dụng.

Nếu DOWNSCALED được bật cùng, việc bật thay đổi này cho một gói sẽ buộc ứng dụng giả định rằng nó đang chạy trên màn hình có tỷ lệ độ phân giải thực theo chiều dọc và chiều ngang là 50%. Nếu DOWNSCALED_INVERSE được bật cùng, việc bật thay đổi này cho một gói sẽ buộc ứng dụng giả định rằng nó đang chạy trên màn hình có 200% độ phân giải thực theo chiều dọc và chiều ngang của màn hình thực.

DOWNSCALE_55

Mã thay đổi: 189970036
Trạng thái mặc định: Tắt đối với tất cả ứng dụng.

Nếu DOWNSCALED được bật cùng, việc bật thay đổi này cho một gói sẽ buộc ứng dụng giả định rằng nó đang chạy trên màn hình có tỷ lệ độ phân giải thực theo chiều dọc và chiều ngang là 55%. Nếu DOWNSCALED_INVERSE được bật cùng, việc bật thay đổi này cho một gói sẽ buộc ứng dụng giả định rằng nó đang chạy trên màn hình có tỷ lệ độ phân giải thực theo chiều dọc và chiều ngang là 181,82%.

DOWNSCALE_60

Mã thay đổi: 176926771
Trạng thái mặc định: Tắt đối với tất cả ứng dụng.

Nếu DOWNSCALED được bật cùng, việc bật thay đổi này cho một gói sẽ buộc ứng dụng giả định rằng nó đang chạy trên màn hình có tỷ lệ độ phân giải thực theo chiều dọc và chiều ngang là 60%. Nếu DOWNSCALED_INVERSE được bật cùng, việc bật thay đổi này cho một gói sẽ buộc ứng dụng giả định rằng nó đang chạy trên màn hình có tỷ lệ độ phân giải thực theo chiều dọc và chiều ngang là 166,67%.

DOWNSCALE_65

Mã thay đổi: 189969744
Trạng thái mặc định: Tắt đối với tất cả ứng dụng.

Nếu DOWNSCALED được bật cùng, việc bật thay đổi này cho một gói sẽ buộc ứng dụng giả định rằng nó đang chạy trên màn hình có tỷ lệ độ phân giải thực theo chiều dọc và chiều ngang là 65%. Nếu DOWNSCALED_INVERSE được bật cùng, việc bật thay đổi này cho một gói sẽ buộc ứng dụng giả định rằng nó đang chạy trên màn hình có tỷ lệ độ phân giải thực theo chiều dọc và chiều ngang là 153,85%.

DOWNSCALE_70

Mã thay đổi: 176926829
Trạng thái mặc định: Tắt đối với tất cả ứng dụng.

Nếu DOWNSCALED được bật cùng, việc bật thay đổi này cho một gói sẽ buộc ứng dụng giả định rằng nó đang chạy trên màn hình có tỷ lệ độ phân giải thực theo chiều dọc và chiều ngang là 70%. Nếu DOWNSCALED_INVERSE được bật cùng, việc bật thay đổi này cho một gói sẽ buộc ứng dụng giả định rằng nó đang chạy trên màn hình có tỷ lệ độ phân giải thực theo chiều dọc và chiều ngang là 142,86%.

DOWNSCALE_75

Mã thay đổi: 189969779
Trạng thái mặc định: Tắt đối với tất cả ứng dụng.

Nếu DOWNSCALED được bật cùng, việc bật thay đổi này cho một gói sẽ buộc ứng dụng giả định rằng nó đang chạy trên màn hình có tỷ lệ độ phân giải thực theo chiều dọc và chiều ngang là 75%. Nếu DOWNSCALED_INVERSE được bật cùng, việc bật thay đổi này cho một gói sẽ buộc ứng dụng giả định rằng nó đang chạy trên màn hình có tỷ lệ độ phân giải thực theo chiều dọc và chiều ngang là 133,33%.

DOWNSCALE_80

Mã thay đổi: 176926753
Trạng thái mặc định: Tắt đối với tất cả ứng dụng.

Nếu DOWNSCALED được bật cùng, việc bật thay đổi này cho một gói sẽ buộc ứng dụng giả định rằng nó đang chạy trên màn hình có 80% độ phân giải thực theo chiều dọc và chiều ngang. Nếu DOWNSCALED_INVERSE được bật cùng, việc bật thay đổi này cho một gói sẽ buộc ứng dụng giả định rằng nó đang chạy trên màn hình có 125% độ phân giải thực theo chiều dọc và chiều ngang.

DOWNSCALE_85

Mã thay đổi: 189969734
Trạng thái mặc định: Tắt đối với tất cả ứng dụng.

Nếu DOWNSCALED được bật cùng, việc bật thay đổi này cho một gói sẽ buộc ứng dụng giả định rằng nó đang chạy trên màn hình có tỷ lệ độ phân giải thực theo chiều dọc và chiều ngang là 85%. Nếu DOWNSCALED_INVERSE được bật cùng, việc bật thay đổi này cho một gói sẽ buộc ứng dụng giả định rằng nó đang chạy trên màn hình có tỷ lệ độ phân giải thực theo chiều dọc và chiều ngang là 117,65%.

DOWNSCALE_90

Mã thay đổi: 182811243
Trạng thái mặc định: Tắt đối với tất cả ứng dụng.

Nếu DOWNSCALED được bật cùng, việc bật thay đổi này cho một gói sẽ buộc ứng dụng giả định rằng nó đang chạy trên màn hình có 90% độ phân giải thực theo chiều dọc và chiều ngang của màn hình thực. Nếu DOWNSCALED_INVERSE được bật cùng, việc bật thay đổi này cho một gói sẽ buộc ứng dụng giả định rằng nó đang chạy trên màn hình có tỷ lệ độ phân giải thực theo chiều dọc và chiều ngang là 111,11%.

ENABLE_PLATFORM_MDNS_BACKEND

Mã thay đổi: 270306772
Trạng thái mặc định: Bật đối với những ứng dụng nhắm đến Android 14 (API cấp 34) trở lên.

Ứng dụng nhắm đến Android 14 trở lên sử dụng phương thức triển khai mDNS tích hợp trên nền tảng làm phần phụ trợ, trong khi ứng dụng nhắm đến các phiên bản trước vẫn tiếp tục sử dụng phần phụ trợ Khám phá dịch vụ mạng (NSD) cũ (với một trình nền gốc cũ là phần phụ trợ NsdManager).

ENABLE_SELF_CERTIFIED_CAPABILITIES_DECLARATION

Mã thay đổi: 266524688
Trạng thái mặc định: Bật đối với những ứng dụng nhắm đến Android 14 (API cấp 34) trở lên.

Tính năng kiểm tra khả năng tự xác nhận được bật cho những ứng dụng nhắm đến Android 14 trở lên. Hãy xem NetworkCapabilities để biết thêm thông tin chi tiết.

ENFORCE_PACKAGE_VISIBILITY_FILTERING

Mã thay đổi: 154726397
Trạng thái mặc định: Bật đối với những ứng dụng nhắm đến Android 14 (API cấp 34) trở lên.

Đối với những ứng dụng nhắm mục tiêu đến Android 14 (API cấp 34) trở lên, bạn phải khai báo nhu cầu về chế độ hiển thị gói trong tệp kê khai để truy cập vào các API AccountManager.

ENFORCE_READ_ONLY_JAVA_DCL

Mã thay đổi: 218865702
Trạng thái mặc định: Bật đối với những ứng dụng nhắm đến Android 14 (API cấp 34) trở lên.

Đối với ứng dụng nhắm đến Android 14 (API cấp 34) trở lên, bạn phải đánh dấu tất cả tệp tải động là chỉ có quyền đọc. Thao tác này giúp các tệp được tải động không bị đối tượng mã độc ghi đè bất ngờ.

Để tìm hiểu thêm về thay đổi này, hãy xem phần về tải mã động an toàn hơn trên trang Các thay đổi về hành vi của Android 14.

ENFORCE_STRICT_QUERY_BUILDER

Mã thay đổi: 143231523
Trạng thái mặc định: Tắt đối với tất cả ứng dụng.

Khi được bật, SQLiteQueryBuilder sẽ xác minh đối số độc hại trên tất cả lựa chọn truy vấn CalendarProvider2.

EXACT_LISTENER_ALARMS_DROPPED_ON_CACHED

Mã thay đổi: 265195908
Trạng thái mặc định: Bật đối với tất cả ứng dụng.

Chuông báo chính xác dự kiến rằng lệnh gọi lại AlarmManager.OnAlarmListener sẽ bị bỏ khi ứng dụng gọi chuyển sang trạng thái đã lưu vào bộ nhớ đệm.

Để tìm hiểu thêm về những thay đổi đối với chuông báo chính xác trong Android 14, hãy xem phần Tính năng lên lịch chuông báo chính xác bị từ chối theo mặc định.

FGS_TYPE_CHECK_FOR_INSTANT_APPS

Mã thay đổi: 261055255
Trạng thái mặc định: Bật đối với những ứng dụng nhắm đến Android 14 (API cấp 34) trở lên.

Khi được bật, ứng dụng tức thì phải chỉ định loại dịch vụ trên nền trước phù hợp với mọi dịch vụ được khai báo trong tệp kê khai của ứng dụng.

Để tìm hiểu thêm về thay đổi này, hãy xem trang mô tả các thay đổi đối với loại dịch vụ trên nền trước.

FGS_TYPE_NONE_DEPRECATION_CHANGE_ID

Mã thay đổi: 255042465
Trạng thái mặc định: Bật đối với những ứng dụng nhắm đến Android 14 (API cấp 34) trở lên.

Khi được bật, những ứng dụng nhắm đến Android 14 (API cấp 34) trở lên, mà bắt đầu dịch vụ trên nền trước bằng cách sử dụng loại FOREGROUND_SERVICE_TYPE_NONE (không dùng nữa), thì sẽ dẫn đến cảnh báo trong nhật ký.

Để tìm hiểu thêm về thay đổi này, hãy xem trang mô tả các thay đổi đối với loại dịch vụ trên nền trước.

FGS_TYPE_NONE_DISABLED_CHANGE_ID

Mã thay đổi: 255038118
Trạng thái mặc định: Bật đối với những ứng dụng nhắm đến Android 14 (API cấp 34) trở lên.

Khi được bật, những ứng dụng nhắm đến Android 14 (API cấp 34) trở lên, mà bắt đầu dịch vụ trên nền trước bằng cách sử dụng loại FOREGROUND_SERVICE_TYPE_NONE (không dùng nữa), thì sẽ dẫn đến một ngoại lệ.

Để tìm hiểu thêm về thay đổi này, hãy xem trang mô tả các thay đổi đối với loại dịch vụ trên nền trước.

FGS_TYPE_PERMISSION_CHANGE_ID

Mã thay đổi: 254662522
Trạng thái mặc định: Bật đối với những ứng dụng nhắm đến Android 14 (API cấp 34) trở lên.

Khi được bật, những ứng dụng nhắm đến Android 14 (API cấp 34) trở lên, mà bắt đầu dịch vụ trên nền trước mà không có các quyền bắt buộc liên kết với loại dịch vụ trên nền trước đó, thì sẽ dẫn đến SecurityException.

Để tìm hiểu thêm về thay đổi này, hãy xem trang mô tả các thay đổi đối với loại dịch vụ trên nền trước.

FORCE_DISABLE_HEVC_SUPPORT

Mã thay đổi: 174227820
Trạng thái mặc định: Tắt đối với tất cả ứng dụng.

Buộc tắt chế độ hỗ trợ tính năng đa phương tiện HEVC trên một ứng dụng. Ứng dụng nên khai báo các tính năng đa phương tiện được hỗ trợ trong tệp kê khai, nhưng cờ này có thể được dùng để buộc ứng dụng không hỗ trợ HEVC, do đó, buộc chuyển mã khi truy cập nội dung đa phương tiện được mã hoá theo HEVC. Việc đặt cờ này sẽ ghi đè mọi giá trị mặc định cấp hệ điều hành đối với ứng dụng. Trạng thái mặc định là tắt, có nghĩa là chế độ mặc định của hệ điều hành sẽ được ưu tiên. Nếu cả cờ này và FORCE_ENABLE_HEVC_SUPPORT đều được bật, hệ điều hành sẽ bỏ qua cả hai cờ.

FORCE_ENABLE_HEVC_SUPPORT

Mã thay đổi: 174228127
Trạng thái mặc định: Tắt đối với tất cả ứng dụng.

Buộc một ứng dụng bật tính năng hỗ trợ tính năng đa phương tiện HEVC. Các ứng dụng nên khai báo tính năng đa phương tiện được hỗ trợ trong tệp kê khai, nhưng cờ này có thể dùng để buộc một ứng dụng hỗ trợ HEVC, do đó, tránh chuyển mã khi truy cập vào nội dung đa phương tiện được mã hoá theo HEVC. Việc đặt cờ này sẽ ghi đè mọi chế độ mặc định cấp hệ điều hành đối với ứng dụng. Trạng thái mặc định là tắt, có nghĩa là chế độ mặc định của hệ điều hành sẽ được ưu tiên. Nếu cả cờ này và FORCE_DISABLE_HEVC_SUPPORT đều được bật, hệ điều hành sẽ bỏ qua cả hai cờ.

FORCE_NON_RESIZE_APP

Mã thay đổi: 181146395
Trạng thái mặc định: Tắt đối với tất cả ứng dụng.

Buộc các gói được áp dụng không được thay đổi kích thước.

FORCE_RESIZE_APP

Mã thay đổi: 174042936
Trạng thái mặc định: Tắt đối với tất cả ứng dụng.

Buộc các gói được áp dụng phải có thể đổi kích thước. Chúng tôi chỉ cho phép đổi kích thước ở chế độ cửa sổ toàn màn hình, nhưng không buộc ứng dụng phải chuyển sang chế độ nhiều cửa sổ có thể thay đổi kích thước.

GWP_ASAN

Mã thay đổi: 145634846
Trạng thái mặc định: Tắt đối với tất cả ứng dụng.

Bật tính năng lấy mẫu để phát hiện lỗi bộ nhớ gốc trong ứng dụng.

Để tìm hiểu thêm về cách sử dụng GWP-ASan, hãy xem bài viết Hướng dẫn về GWP-ASan.

IMPLICIT_INTENTS_ONLY_MATCH_EXPORTED_COMPONENTS

Mã thay đổi: 229362273
Trạng thái mặc định: Bật đối với những ứng dụng nhắm đến Android 14 (API cấp 34) trở lên.

Đối với ứng dụng nhắm mục tiêu Android 14 (API cấp 34) trở lên, bạn phải xuất các thành phần để gọi các thành phần đó thông qua ý định ngầm ẩn. Nếu một thành phần không được xuất và được gọi, thì thành phần đó sẽ bị xoá khỏi danh sách bộ nhận. Cách này áp dụng riêng cho các hoạt động và thông báo.

Để tìm hiểu thêm về thay đổi này, hãy xem phần về các hạn chế đối với ý định ngầm ẩn và ý định đang chờ xử lý trong trang Các thay đổi về hành vi của Android 14.

Mã thay đổi: 266201607
Trạng thái mặc định: Bật đối với những ứng dụng nhắm đến Android 14 (API cấp 34) trở lên.

Đối với những ứng dụng nhắm đến Android 14 (API cấp 34) trở lên, ứng dụng phải yêu cầu người dùng đồng ý trước mỗi phiên chụp MediaProjection.

Để tìm hiểu thêm về thay đổi này, hãy xem phần trong trang Các thay đổi về hành vi của Android 14 về cách yêu cầu sự đồng ý của người dùng đối với mỗi phiên chụp MediaProjection.

NATIVE_HEAP_ZERO_INIT

Mã thay đổi: 178038272
Trạng thái mặc định: Tắt đối với tất cả ứng dụng.

Bật tính năng tự động khởi chạy không phân bổ bộ nhớ vùng nhớ khối xếp gốc.

NATIVE_MEMTAG_ASYNC

Mã thay đổi: 145772972
Trạng thái mặc định: Tắt đối với tất cả ứng dụng.

Bật tính năng kiểm tra bộ nhớ không đồng bộ (ASYNC) trong quá trình này. Cờ này chỉ ảnh hưởng đến phần cứng hỗ trợ Tiện ích gắn thẻ bộ nhớ (MTE) ARM.

NATIVE_MEMTAG_SYNC

Mã thay đổi: 177438394
Trạng thái mặc định: Tắt đối với tất cả ứng dụng.

Bật tính năng kiểm tra thẻ nhớ đồng bộ (SYNC) trong quá trình này. Cờ này chỉ ảnh hưởng đến phần cứng hỗ trợ Tiện ích gắn thẻ bộ nhớ (MTE) ARM. Nếu cả NATIVE_MEMTAG_ASYNC và tuỳ chọn này đều được bật, thì tuỳ chọn này sẽ được ưu tiên và MTE sẽ được bật ở chế độ SYNC.

OVERRIDE_ANY_ORIENTATION

Mã thay đổi: 265464455
Trạng thái mặc định: Tắt đối với tất cả ứng dụng.

Khi được bật, thay đổi này sẽ cho phép áp dụng chế độ ghi đè hướng sau đây bất kể hướng mà hoạt động yêu cầu:

OVERRIDE_CAMERA_RESIZABLE_AND_SDK_CHECK

Mã thay đổi: 191514214
Trạng thái mặc định: Tắt đối với tất cả ứng dụng.

Khi được bật, thay đổi này sẽ buộc các gói được áp dụng bỏ qua giá trị hiện tại của android:resizeableActivity cũng như SDK mục tiêu bằng hoặc thấp hơn M, đồng thời xem hoạt động là không thể đổi kích thước. Trong trường hợp này, giá trị góc xoay và kích thước cắt của máy ảnh chỉ phụ thuộc vào giá trị bù cần thiết khi tính đến góc xoay màn hình hiện tại.

OVERRIDE_CAMERA_ROTATE_AND_CROP_DEFAULTS

Mã thay đổi: 189229956
Trạng thái mặc định: Tắt đối với tất cả ứng dụng.

Khi được bật, thay đổi này sẽ buộc các gói được áp dụng ghi đè hành vi xoay và cắt máy ảnh mặc định và luôn trả về CaptureRequest.SCALER_ROTATE_AND_CROP_NONE.

OVERRIDE_LANDSCAPE_ORIENTATION_TO_REVERSE_LANDSCAPE

Mã thay đổi: 266124927
Trạng thái mặc định: Tắt đối với tất cả ứng dụng.

Bật SCREEN_ORIENTATION_REVERSE_LANDSCAPE cho ứng dụng được áp dụng. Trừ phi OVERRIDE_ANY_ORIENTATION cũng được bật, SCREEN_ORIENTATION_REVERSE_LANDSCAPE sẽ chỉ được dùng khi hoạt động chỉ định hướng ngang. Việc bật thay đổi này có thể giúp bạn kiểm thử hành vi của ứng dụng để xem có sự khác biệt giữa các thiết bị có hướng ngang tương ứng với Surface.ROTATION_90 và các thiết bị tương ứng với Surface.ROTATION_270.

OVERRIDE_MIN_ASPECT_RATIO

Mã thay đổi: 174042980
Trạng thái mặc định: Tắt đối với tất cả ứng dụng.

Thay đổi này là yếu tố thúc đẩy tất cả thay đổi có hành vi buộc áp dụng tỷ lệ khung hình tối thiểu nhất định. Khi bật đổi thay đổi này, hệ thống sẽ áp dụng tỷ lệ khung hình tối thiểu sau đây:

Khi thay đổi này được bật đối với một gói ứng dụng, tỷ lệ khung hình tối thiểu được cung cấp trong tệp kê khai của ứng dụng sẽ được ghi đè thành tỷ lệ khung hình lớn nhất được bật, trừ phi giá trị trong tệp kê khai của ứng dụng cao hơn.

OVERRIDE_MIN_ASPECT_RATIO_EXCLUDE_PORTRAIT_FULLSCREEN

Mã thay đổi: 218959984
Trạng thái mặc định: Tắt đối với tất cả ứng dụng.

Khi bật, hãy ghi đè giới hạn tỷ lệ khung hình tối thiểu ở chế độ toàn màn hình dọc để sử dụng tất cả không gian màn hình có sẵn.

OVERRIDE_MIN_ASPECT_RATIO_LARGE

Mã thay đổi: 180326787
Trạng thái mặc định: Tắt đối với tất cả ứng dụng.

Nếu OVERRIDE_MIN_ASPECT_RATIO được bật cùng, việc bật thay đổi này cho một gói sẽ thiết lập tỷ lệ khung hình tối thiểu của hoạt động thành một giá trị lớn do OVERRIDE_MIN_ASPECT_RATIO_LARGE_VALUE xác định.

OVERRIDE_MIN_ASPECT_RATIO_MEDIUM

Mã thay đổi: 180326845
Trạng thái mặc định: Tắt đối với tất cả ứng dụng.

Nếu OVERRIDE_MIN_ASPECT_RATIO được bật cùng, việc bật thay đổi này cho một gói sẽ thiết lập tỷ lệ khung hình tối thiểu của hoạt động thành một giá trị trung bình do OVERRIDE_MIN_ASPECT_RATIO_MEDIUM_VALUE xác định.

OVERRIDE_MIN_ASPECT_RATIO_PORTRAIT_ONLY

Mã thay đổi: 203647190
Trạng thái mặc định: Bật đối với tất cả ứng dụng.

Nếu OVERRIDE_MIN_ASPECT_RATIO được bật cùng, thay đổi này sẽ giới hạn mọi thay đổi khác buộc tỷ lệ khung hình tối thiểu của một hoạt động thành một giá trị nhất định (chẳng hạn như OVERRIDE_MIN_ASPECT_RATIO_LARGEOVERRIDE_MIN_ASPECT_RATIO_MEDIUM) đối với các hoạt động cũng có hướng dọc.

OVERRIDE_RESPECT_REQUESTED_ORIENTATION

Mã thay đổi: 236283604
Trạng thái mặc định: Tắt đối với tất cả ứng dụng.

Khi được bật, thay đổi này sẽ loại trừ các gói được áp dụng khỏi các hạn chế bỏ qua về hướng mà nhà sản xuất thiết bị có thể đặt.

OVERRIDE_UNDEFINED_ORIENTATION_TO_NOSENSOR

Mã thay đổi: 265451093
Trạng thái mặc định: Tắt đối với tất cả ứng dụng.

Bật SCREEN_ORIENTATION_NOSENSOR cho ứng dụng được áp dụng. Trừ phi OVERRIDE_ANY_ORIENTATION được bật, SCREEN_ORIENTATION_NOSENSOR sẽ chỉ được dùng khi hoạt động không chỉ định hướng cố định nào khác.

OVERRIDE_UNDEFINED_ORIENTATION_TO_PORTRAIT

Mã thay đổi: 265452344
Trạng thái mặc định: Tắt đối với tất cả ứng dụng.

Bật SCREEN_ORIENTATION_PORTRAIT cho ứng dụng được áp dụng. Trừ phi OVERRIDE_ANY_ORIENTATION được bật, SCREEN_ORIENTATION_PORTRAIT sẽ chỉ được dùng khi hoạt động không chỉ định hướng cố định nào khác.

RATE_LIMIT_TOASTS

Mã thay đổi: 174840628
Trạng thái mặc định: Không thể bật/tắt thay đổi này. Chỉ có khung tương thích ghi lại nhật ký này.

Bật giới hạn số lượng lệnh gọi Toast.show() để ngăn việc gửi quá nhiều thông báo ngắn cho người dùng trong một khoảng thời gian có hạn. Nếu bạn cố gắng hiện nhiều thông báo ngắn hơn mức cho phép trong một khung thời gian nhất định, thì sẽ dẫn đến việc thông báo ngắn bị loại bỏ.

REJECT_NEGATIVE_NETWORK_ESTIMATES

Mã thay đổi: 253665015
Trạng thái mặc định: Bật đối với những ứng dụng nhắm đến Android 14 (API cấp 34) trở lên.

Khi được bật, bắt buộc các byte mạng ước tính không được là số âm.

REQUIRE_NETWORK_CONSTRAINT_FOR_NETWORK_JOB_WORK_ITEMS

Mã thay đổi: 241104082
Trạng thái mặc định: Bật đối với những ứng dụng nhắm đến Android 14 (API cấp 34) trở lên.

Đối với các ứng dụng nhắm mục tiêu Android 14 (API cấp 34) trở lên, công việc lưu trữ phải chỉ định một quy tắc ràng buộc mạng nếu JobWorkItem đi kèm cho biết mức sử dụng mạng.

REQUIRE_NETWORK_PERMISSIONS_FOR_CONNECTIVITY_JOBS

Mã thay đổi: 271850009
Trạng thái mặc định: Bật đối với những ứng dụng nhắm đến Android 14 (API cấp 34) trở lên.

Đối với ứng dụng nhắm mục tiêu Android 14 (API cấp 34) trở lên, các ứng dụng phải chỉ định cả quyền INTERNETACCESS_NETWORK_STATE khi lên lịch công việc có quy tắc hạn chế về kết nối.

THROW_ON_INVALID_DATA_TRANSFER_IMPLEMENTATION

Mã thay đổi: 255371817
Trạng thái mặc định: Bật đối với những ứng dụng nhắm đến Android 14 (API cấp 34) trở lên.

Đối với ứng dụng nhắm mục tiêu Android 14 (API cấp 34) trở lên, hệ thống sẽ gửi ra một ngoại lệ nếu ứng dụng không triển khai đúng cách tất cả các API chuyển dữ liệu cần thiết khi chỉ định công việc chuyển dữ liệu do người dùng khởi tạo.

Để tìm hiểu thêm về thay đổi này, hãy xem trang mô tả cách di chuyển dịch vụ trên nền trước sang công việc chuyển dữ liệu do người dùng khởi tạo.

USE_EXPERIMENTAL_COMPONENT_ALIAS

Mã thay đổi: 196254758
Trạng thái mặc định: Tắt đối với tất cả ứng dụng.

Khi bật, hệ thống sẽ cho phép gói "android" sử dụng bí danh thành phần.