兼容性框架变更 (Android 15)

图 1. 开发者选项中的“应用兼容性更改”屏幕列出了您可以切换的更改。

此页面描述了 Android 15(API 级别 35)中兼容性框架的一部分可切换更改。结合使用此列表和开发者选项和 ADB 命令来测试和调试您的应用,以便您准备支持和定位 Android 15。

以下是一些您可以使用兼容性框架工具执行的操作

  • 在不实际更改应用的 targetSdkVersion 的情况下测试目标更改。您可以使用切换按钮强制启用特定目标行为更改,以评估对现有应用的影响。
  • 仅专注于测试特定更改。切换按钮可以让您禁用所有目标更改(除了您要针对其进行测试的更改),从而无需一次解决所有目标更改。
  • 通过 adb 管理切换按钮。您可以使用 adb 命令在自动化测试环境中启用和禁用可切换更改。
  • 使用标准更改 ID 加速调试。每个可切换更改都有一个唯一的 ID 和名称,您可以使用它们在日志输出中快速调试根本原因。

有关在每个用例中使用这些工具的完整详细信息,请参阅兼容性框架工具

兼容性框架中包含的行为更改

本节中的列表描述了包含在 Android 15 相关更改的兼容性框架中的可切换更改,以及可帮助进行通用应用测试的可切换更改。

您可以按其默认状态筛选更改列表。

Android 15 中兼容性框架中的可切换更改

CAMERA_MIC_INDICATORS_NOT_PRESENT

更改 ID:162547999
默认状态:对所有应用禁用。

指示此设备是否支持相机和麦克风指示器。如果存在,则值为false,因为如果更改 ID 不存在,则CompatChanges#isChangeEnabled方法将返回true

CHECK_PARAMS_IN_IS_SESSION_CONFIGURATION_SUPPORTED

更改 ID:320741775
默认状态:对目标为 Android 15(API 级别 35)或更高版本的应用启用。

启用后,isSessionConfigurationSupported还会在 HAL 支持时检查会话参数的兼容性。

DEFAULT_RESCIND_BAL_PRIVILEGES_FROM_PENDING_INTENT_CREATOR

变更 ID: 296478951
默认状态:对目标为 Android 15(API 级别 35)或更高版本的应用启用。

启用后,PendingIntent 的创建者默认会阻止后台活动启动

要了解有关此更改的更多信息,请参阅 Android 15 行为更改页面中关于 安全的后台活动启动的部分。

DEPRECATE_UI_FONT

变更 ID: 279646685
默认状态:对目标为 Android 15(API 级别 35)或更高版本的应用启用。

启用后,当您的应用在 Android 15 或更高版本的设备上运行时,elegantTextHeight TextView 属性默认变为 true,用更易读的字体替换默认情况下某些具有较大垂直度量的脚本使用的紧凑字体。

要了解有关此更改的更多信息,请参阅 Android 15 行为更改页面中关于 elegantTextHeight 属性默认为 true的部分。

DOWNSCALED

变更 ID: 168419799
默认状态:对所有应用禁用。

此更改是所有每个应用缓冲区降尺度更改的守护程序。启用此更改后,可以应用以下缩放比例因子

当为应用包启用此更改时,应用会强制调整为最高启用的缩放比例因子。例如,如果启用了 80% 和 70%(DOWNSCALE_80DOWNSCALE_70),则使用 80%。当同时启用此更改和 DOWNSCALED_INVERSE 时,DOWNSCALED_INVERSE 优先,缩放比例因子会反向应用。

DOWNSCALED_INVERSE

变更 ID: 273564678
默认状态:对所有应用禁用。

此更改是所有每个应用缓冲区反向降尺度更改的守护程序。启用此更改后,可以反向应用以下缩放比例因子(即,分辨率会向上缩放)

当为应用包启用此更改时,应用会强制调整为最低启用的缩放比例因子。例如,如果启用了 80% 和 70%(DOWNSCALE_80DOWNSCALE_70),则使用 80%,因为当反向应用时,80% 的缩放比例因子等于 125%,小于反向应用 70% 的缩放比例因子时应用的 142.86% 的缩放比例因子。当同时启用此更改和 DOWNSCALED 时,DOWNSCALED_INVERSE 优先,缩放比例因子会反向应用。

DOWNSCALE_30

变更 ID: 189970040
默认状态:对所有应用禁用。

如果还启用了 DOWNSCALED,则为某个包启用此更改会强制应用假定它在垂直和水平分辨率为实际显示器 30% 的显示器上运行。如果还启用了 DOWNSCALED_INVERSE,则为某个包启用此更改会强制应用假定它在垂直和水平分辨率为实际显示器 333.33% 的显示器上运行。

DOWNSCALE_35

变更 ID: 189969749
默认状态:对所有应用禁用。

如果还启用了 DOWNSCALED,则为某个包启用此更改会强制应用假定它在垂直和水平分辨率为实际显示器 35% 的显示器上运行。如果还启用了 DOWNSCALED_INVERSE,则为某个包启用此更改会强制应用假定它在垂直和水平分辨率为实际显示器 285.71% 的显示器上运行。

DOWNSCALE_40

变更 ID: 189970038
默认状态:对所有应用禁用。

如果还启用了 DOWNSCALED,则为某个包启用此更改会强制应用假定它在垂直和水平分辨率为实际显示器 40% 的显示器上运行。如果还启用了 DOWNSCALED_INVERSE,则为某个包启用此更改会强制应用假定它在垂直和水平分辨率为实际显示器 250% 的显示器上运行。

DOWNSCALE_45

变更 ID: 189969782
默认状态:对所有应用禁用。

如果还启用了 DOWNSCALED,则为某个包启用此更改会强制应用假定它在垂直和水平分辨率为实际显示器 45% 的显示器上运行。如果还启用了 DOWNSCALED_INVERSE,则为某个包启用此更改会强制应用假定它在垂直和水平分辨率为实际显示器 222.22% 的显示器上运行。

DOWNSCALE_50

变更 ID: 176926741
默认状态:对所有应用禁用。

如果还启用了 DOWNSCALED,则为某个包启用此更改会强制应用假定它在垂直和水平分辨率为实际显示器 50% 的显示器上运行。如果还启用了 DOWNSCALED_INVERSE,则为某个包启用此更改会强制应用假定它在垂直和水平分辨率为实际显示器 200% 的显示器上运行。

DOWNSCALE_55

变更 ID: 189970036
默认状态:对所有应用禁用。

如果还启用了 DOWNSCALED,则为某个包启用此更改会强制应用假定它在垂直和水平分辨率为实际显示器 55% 的显示器上运行。如果还启用了 DOWNSCALED_INVERSE,则为某个包启用此更改会强制应用假定它在垂直和水平分辨率为实际显示器 181.82% 的显示器上运行。

DOWNSCALE_60

变更 ID: 176926771
默认状态:对所有应用禁用。

如果还启用了 DOWNSCALED,则为某个包启用此更改会强制应用假定它在垂直和水平分辨率为实际显示器 60% 的显示器上运行。如果还启用了 DOWNSCALED_INVERSE,则为某个包启用此更改会强制应用假定它在垂直和水平分辨率为实际显示器 166.67% 的显示器上运行。

DOWNSCALE_65

变更 ID: 189969744
默认状态:对所有应用禁用。

如果还启用了 DOWNSCALED,则为某个包启用此更改会强制应用假定它在垂直和水平分辨率为实际显示器 65% 的显示器上运行。如果还启用了 DOWNSCALED_INVERSE,则为某个包启用此更改会强制应用假定它在垂直和水平分辨率为实际显示器 153.85% 的显示器上运行。

DOWNSCALE_70

变更 ID: 176926829
默认状态:对所有应用禁用。

如果还启用了 DOWNSCALED,则为某个包启用此更改会强制应用假定它在垂直和水平分辨率为实际显示器 70% 的显示器上运行。如果还启用了 DOWNSCALED_INVERSE,则为某个包启用此更改会强制应用假定它在垂直和水平分辨率为实际显示器 142.86% 的显示器上运行。

DOWNSCALE_75

变更 ID: 189969779
默认状态:对所有应用禁用。

如果还启用了 DOWNSCALED,则为某个包启用此更改会强制应用假定它在垂直和水平分辨率为实际显示器 75% 的显示器上运行。如果还启用了 DOWNSCALED_INVERSE,则为某个包启用此更改会强制应用假定它在垂直和水平分辨率为实际显示器 133.33% 的显示器上运行。

DOWNSCALE_80

变更 ID: 176926753
默认状态:对所有应用禁用。

如果还启用了 DOWNSCALED,则为某个包启用此更改会强制应用假定它在垂直和水平分辨率为实际显示器 80% 的显示器上运行。如果还启用了 DOWNSCALED_INVERSE,则为某个包启用此更改会强制应用假定它在垂直和水平分辨率为实际显示器 125% 的显示器上运行。

DOWNSCALE_85

变更 ID: 189969734
默认状态:对所有应用禁用。

如果还启用了 DOWNSCALED,则为某个包启用此更改会强制应用假定它在垂直和水平分辨率为实际显示器 85% 的显示器上运行。如果还启用了 DOWNSCALED_INVERSE,则为某个包启用此更改会强制应用假定它在垂直和水平分辨率为实际显示器 117.65% 的显示器上运行。

DOWNSCALE_90

变更 ID: 182811243
默认状态:对所有应用禁用。

如果还启用了 DOWNSCALED,则为某个包启用此更改会强制应用假定它在垂直和水平分辨率为实际显示器 90% 的显示器上运行。如果还启用了 DOWNSCALED_INVERSE,则为某个包启用此更改会强制应用假定它在垂直和水平分辨率为实际显示器 111.11% 的显示器上运行。

DO_NOT_CLONE_IN_ARRAYS_AS_LIST

变更 ID: 202956589
默认状态:对目标为 Android 15(API 级别 35)或更高版本的应用启用。

启用后,当使用 Arrays.asList(...).toArray() 时,结果数组的组件类型现在是 Object,而不是基础数组元素的类型。因此,以下代码会抛出 ClassCastException

String[] elements = (String[]) Arrays.asList("one", "two").toArray();

对于这种情况,要保留结果数组中 String 作为组件类型,您可以改用 Collection.toArray(Object[])

String[] elements = Arrays.asList("two", "one").toArray(new String[0]);

要了解有关此更改的更多信息,请参阅 Android 15 行为更改页面中关于 OpenJDK API 更改的部分。

ENABLE_BUNDLE_LAUNCH_ACTIVITY_ITEM

变更 ID: 324203798


默认状态:对目标为 Android 15(API 级别 35)或更高版本的应用启用。

启用后,为了防止任何现有应用在使用非 SDK 的 ClientTransaction#getActivityToken() 时出现应用兼容性问题,只允许捆绑 LaunchActivityItem

ENABLE_MATCH_LOCAL_NETWORK

变更 ID:319212206
默认状态:对目标为 Android 15(API 级别 35)或更高版本的应用启用。

启用后,应用默认会接收来自本地网络的网络回调。面向 Android 14(API 级别 34)或更低版本的应用仍然需要将 NetworkCapabilities.NET_CAPABILITY_LOCAL_NETWORK 添加到 NetworkCapabilitiesNetworkRequest 中,才能从本地网络接收 ConnectivityManager.NetworkCallback

ENABLE_STRICT_FORMATTER_VALIDATION

变更 ID:270674727
默认状态:对目标为 Android 15(API 级别 35)或更高版本的应用启用。

启用后,使用 String.format()Formatter.format() API 时,对参数索引、标志、宽度和精度的验证将更加严格。

要了解有关此更改的更多信息,请参阅 Android 15 行为更改页面中关于 OpenJDK API 更改的部分。

ENFORCE_EDGE_TO_EDGE

变更 ID:309578419
默认状态:对目标为 Android 15(API 级别 35)或更高版本的应用启用。

启用后,在运行 Android 15 或更高版本的设备上,应用默认将采用全屏显示。

要详细了解此更改,请参阅 Android 15 行为更改页面中关于 全屏显示强制执行 的部分。

ENFORCE_STRICT_QUERY_BUILDER

变更 ID:143231523
默认状态:对所有应用禁用。

启用后,SQLiteQueryBuilder 会针对恶意参数验证所有 CalendarProvider2 查询选择。

FGS_BOOT_COMPLETED_RESTRICTIONS

变更 ID:296558535
默认状态:对目标为 Android 15(API 级别 35)或更高版本的应用启用。

启用后,将禁用除以下类型之外的所有类型的前台服务从 BOOT_COMPLETED 广播进行的后台启动

要详细了解此更改,请参阅 Android 15 行为更改页面中关于 启动前台服务的 BOOT_COMPLETED 广播接收器限制 的部分。

FGS_INTRODUCE_TIME_LIMITS

变更 ID:317799821
默认状态:对目标为 Android 15(API 级别 35)或更高版本的应用启用。

启用后,某些类型的前台服务将有时间限制。如果违规类型的前台服务在分配的时间限制内未停止,它将使用 Service.onTimeout(int, int) 接收回调,然后必须在几秒钟内停止。如果应用未能这样做,则会被声明为 ANR。

要详细了解此更改,请参阅 Android 15 行为更改页面中关于 数据同步媒体处理 前台服务类型的超时行为的部分。

FGS_SAW_RESTRICTIONS

变更 ID:319471980
默认状态:对目标为 Android 15(API 级别 35)或更高版本的应用启用。

启用后,将禁用所有类型在系统警报窗口中从后台启动的前台服务,除非它已拥有系统叠加窗口。

要详细了解此更改,请参阅 Android 15 行为更改页面中关于 应用持有 SYSTEM_ALERT_WINDOW 权限时启动前台服务的限制 的部分。

FORCE_DISABLE_HEVC_SUPPORT

变更 ID:174227820
默认状态:对所有应用禁用。

强制禁用应用支持 HEVC 媒体功能。应用应在其清单中声明其支持的媒体功能,但此标志可用于强制应用不支持 HEVC,从而在访问 HEVC 编码的媒体时强制进行转码。设置此标志会覆盖应用的任何操作系统级别默认值。默认情况下,它处于禁用状态,这意味着操作系统默认值优先。如果同时启用了此标志和 FORCE_ENABLE_HEVC_SUPPORT,则操作系统会忽略这两个标志。

FORCE_ENABLE_HEVC_SUPPORT

变更 ID:174228127
默认状态:对所有应用禁用。

强制启用应用支持 HEVC 媒体功能。应用应在其清单中声明其支持的媒体功能,但此标志可用于强制应用支持 HEVC,从而避免在访问 HEVC 编码的媒体时进行转码。设置此标志会覆盖应用的任何操作系统级别默认值。默认情况下,它处于禁用状态,这意味着操作系统默认值优先。如果同时启用了此标志和 FORCE_DISABLE_HEVC_SUPPORT,则操作系统会忽略这两个标志。

FORCE_NON_RESIZE_APP

变更 ID:181146395
默认状态:对所有应用禁用。

强制其应用到的包不可调整大小。

FORCE_RESIZE_APP

变更 ID:174042936
默认状态:对所有应用禁用。

强制其应用到的包可调整大小。我们仅允许在全屏窗口模式下调整大小,但不强制应用进入可调整大小的多窗口模式。

GWP_ASAN

变更 ID:145634846
默认状态:对所有应用禁用。

启用应用中的采样本地内存错误检测。

要详细了解如何使用 GWP-ASan,请参阅 GWP-ASan 指南

IS_DEVICE_OWNER_USER_AWARE

变更 ID:307233716
默认状态:对目标为 Android 15(API 级别 35)或更高版本的应用启用。

启用后,isDeviceOwnerApp(String) 方法将使用上下文中的用户。对于面向 Android 14(API 级别 34)或更低版本的应用,将使用调用进程的用户(Process.myUserHandle())。

MANAGE_GLOBAL_ZEN_VIA_IMPLICIT_RULES

变更 ID:308670109
默认状态:对目标为 Android 15(API 级别 35)或更高版本的应用启用。

启用后,应用将无法再更改设备上勿扰模式的全局状态或策略(通过修改用户设置或关闭勿扰模式)。相反,应用必须提供一个 AutomaticZenRule,系统会将其与现有的最严格策略优先方案相结合,形成全局策略。

要详细了解此更改,请参阅 Android 15 行为更改页面中关于 应用何时可以修改勿扰模式的全局状态的更改 的部分。

NATIVE_HEAP_ZERO_INIT

变更 ID:178038272
默认状态:对所有应用禁用。

启用本地堆内存分配的自动零初始化。

NATIVE_MEMTAG_ASYNC

变更 ID:145772972
默认状态:对所有应用禁用。

在此进程中启用异步 (ASYNC) 内存标记检查。此标志仅影响支持 ARM 内存标记扩展 (MTE) 的硬件。

NATIVE_MEMTAG_SYNC

变更 ID:177438394
默认状态:对所有应用禁用。

在此进程中启用同步 (SYNC) 内存标记检查。此标志仅影响支持 ARM 内存标记扩展 (MTE) 的硬件。如果同时启用了 NATIVE_MEMTAG_ASYNC 和此选项,则此选项优先,并且 MTE 以 SYNC 模式启用。

OVERRIDE_ANY_ORIENTATION

变更 ID:265464455
默认状态:对所有应用禁用。

启用后,此更改允许应用以下方向覆盖,而无论活动请求的方向如何

OVERRIDE_ANY_ORIENTATION_TO_USER

变更 ID:310816437
默认状态:对所有应用禁用。

启用后,将启用 SCREEN_ORIENTATION_USER,它会覆盖活动请求的任何方向。对于大屏幕设备,可以通过启用 ignoreOrientationRequest 并使用此覆盖来覆盖固定方向应用,使其全屏显示。

OVERRIDE_CAMERA_COMPAT_DISABLE_FREEFORM_WINDOWING_TREATMENT

变更 ID:314961188
默认状态:对所有应用禁用。

启用后,将应用覆盖的包从自由窗格窗口模式下固定方向应用的相机兼容性处理中排除。

在自由窗格窗口模式下,兼容性处理会模拟在纵向设备上运行,方法是给应用窗口添加黑边,并将相机特性更改为应用在纵向设备上通常期望的特性:分别为后置和前置摄像头设置 90 和 270 度传感器旋转,并将显示旋转设置为 0。

使用此标志可禁用对响应不佳的应用的兼容性处理。

OVERRIDE_CAMERA_RESIZABLE_AND_SDK_CHECK

变更 ID:191514214
默认状态:对所有应用禁用。

启用后,此更改会强制其应用到的包忽略 android:resizeableActivity 的当前值以及目标 SDK 等于或低于 Android 6.0(API 级别 23)的值,并将活动视为不可调整大小。在这种情况下,相机旋转和裁剪的值仅取决于考虑当前显示旋转所需的补偿。

OVERRIDE_CAMERA_ROTATE_AND_CROP_DEFAULTS

变更 ID:189229956
默认状态:对所有应用禁用。

启用后,此更改会强制其应用到的包覆盖默认的相机旋转和裁剪行为,并始终返回 CaptureRequest.SCALER_ROTATE_AND_CROP_NONE

OVERRIDE_DISABLE_MEDIA_PROJECTION_SINGLE_APP_OPTION

变更 ID:316897322
默认状态:对所有应用禁用。

启用后,确保在启动 MediaProjection 会话时,用户可以选择捕获单个应用或整个屏幕,从而覆盖 MediaProjectionConfig#createConfigForDefaultDisplay 的使用。

OVERRIDE_LANDSCAPE_ORIENTATION_TO_REVERSE_LANDSCAPE

变更 ID:266124927
默认状态:对所有应用禁用。

为其应用到的应用启用 SCREEN_ORIENTATION_REVERSE_LANDSCAPE。除非也启用了 OVERRIDE_ANY_ORIENTATION,否则仅当活动指定横向方向时才会使用 SCREEN_ORIENTATION_REVERSE_LANDSCAPE。启用此更改可以帮助您测试应用在横向方向对应于 Surface.ROTATION_90 的设备和对应于 Surface.ROTATION_270 的设备之间的行为差异。

OVERRIDE_LAYOUT_IN_DISPLAY_CUTOUT_MODE

变更 ID:332679525
默认状态:对所有应用禁用。

启用后,会覆盖显示切口模式下的布局行为。仅当未强制使用全面屏时,此设置才会生效。

OVERRIDE_MIN_ASPECT_RATIO

更改 ID: 174042980
默认状态:对所有应用禁用。

此更改是所有强制指定最小纵横比的更改的控制开关。启用此更改后,允许应用以下最小纵横比

当此更改为某个应用包启用时,应用清单中给定的最小纵横比将被覆盖为启用的最大纵横比,除非应用清单中的值更高。

OVERRIDE_MIN_ASPECT_RATIO_EXCLUDE_PORTRAIT_FULLSCREEN

更改 ID: 218959984
默认状态:对所有应用禁用。

启用后,会覆盖纵向全屏模式下的最小纵横比限制,以便使用所有可用的屏幕空间。

OVERRIDE_MIN_ASPECT_RATIO_LARGE

更改 ID: 180326787
默认状态:对所有应用禁用。

OVERRIDE_MIN_ASPECT_RATIO 也启用时,为某个包启用此更改会将 Activity 的最小纵横比设置为由 OVERRIDE_MIN_ASPECT_RATIO_LARGE_VALUE 定义的大值。

OVERRIDE_MIN_ASPECT_RATIO_MEDIUM

更改 ID: 180326845
默认状态:对所有应用禁用。

OVERRIDE_MIN_ASPECT_RATIO 也启用时,为某个包启用此更改会将 Activity 的最小纵横比设置为由 OVERRIDE_MIN_ASPECT_RATIO_MEDIUM_VALUE 定义的中值。

OVERRIDE_MIN_ASPECT_RATIO_ONLY_FOR_CAMERA

更改 ID: 325586858
默认状态:对所有应用禁用。

启用后,会限制强制指定最小纵横比的处理,使其仅在应用连接到相机时应用。

OVERRIDE_MIN_ASPECT_RATIO_PORTRAIT_ONLY

更改 ID: 203647190
默认状态:对所有应用启用。

OVERRIDE_MIN_ASPECT_RATIO 也启用时,此更改会将任何其他强制 Activity 的最小纵横比为某个值的更改(例如 OVERRIDE_MIN_ASPECT_RATIO_LARGEOVERRIDE_MIN_ASPECT_RATIO_MEDIUM)限制为也具有纵向方向的 Activity。

OVERRIDE_RESPECT_REQUESTED_ORIENTATION

更改 ID: 236283604
默认状态:对所有应用禁用。

启用后,此更改会将应用于其的包排除在设备制造商可以设置的忽略方向限制之外。

OVERRIDE_UNDEFINED_ORIENTATION_TO_NOSENSOR

更改 ID: 265451093
默认状态:对所有应用禁用。

为应用于其的应用启用 SCREEN_ORIENTATION_NOSENSOR。除非还启用了 OVERRIDE_ANY_ORIENTATION,否则 SCREEN_ORIENTATION_NOSENSOR 仅在 Activity 未指定任何其他固定方向时使用。

OVERRIDE_UNDEFINED_ORIENTATION_TO_PORTRAIT

更改 ID: 265452344
默认状态:对所有应用禁用。

为应用于其的应用启用 SCREEN_ORIENTATION_PORTRAIT。除非还启用了 OVERRIDE_ANY_ORIENTATION,否则 SCREEN_ORIENTATION_PORTRAIT 仅在 Activity 未指定任何其他固定方向时使用。

PARSE_CONTENT_DISPOSITION_USING_RFC_6266

更改 ID: 319400769
默认状态:对目标为 Android 15(API 级别 35)或更高版本的应用启用。

启用后,允许解析符合 RFC 6266 的 Content-Disposition 标头。特别是,这允许解析可以使用不同字符编码的 filename* 值。

RATE_LIMIT_TOASTS

更改 ID: 174840628
默认状态:此更改无法切换。它仅由兼容性框架记录。

启用对 Toast.show() 调用的数量进行速率限制,以防止在有限的时间内向用户显示过多的吐司消息而造成负担。在特定时间范围内,任何试图显示超出允许数量的吐司消息的尝试都会导致该吐司消息被丢弃。

STREAM_INT_DIFFERS_FROM_NEXT_INT

更改 ID: 308103782
默认状态:对目标为 Android 15(API 级别 35)或更高版本的应用启用。

启用后,Random.ints() 方法现在返回的数字序列与 Random.nextInt() 方法返回的数字序列不同。这来自 https://bugs.openjdk.org/browse/JDK-8301574 中的更改。

要了解有关此更改的更多信息,请参阅 Android 15 行为更改页面中关于 OpenJDK API 更改的部分。

USE_EXPERIMENTAL_COMPONENT_ALIAS

更改 ID: 196254758
默认状态:对所有应用禁用。

启用后,系统允许“android”包使用组件别名。

USE_NEW_ISO_LOCALE_CODES

更改 ID: 291868760
默认状态:对目标为 Android 15(API 级别 35)或更高版本的应用启用。

启用后,希伯来语、意第绪语和印度尼西亚语的语言代码将不再转换为其过时的形式(希伯来语:iw,意第绪语:ji,印度尼西亚语:in)。

要了解有关此更改的更多信息,请参阅 Android 15 行为更改页面中关于 OpenJDK API 更改的部分。