相容性架構異動 (Android 手錶 15)

圖 1. 開發人員選項中的「應用程式相容性變更」畫面會列出可切換的變更。

本頁說明在 Android 15 相容性架構中可切換的變更。當您準備好支援 Android 15 並指定其為目標版本時,請使用此清單搭配開發人員選項和 ADB 指令,為應用程式進行測試與偵錯。

您可以使用相容性架構工具進行下列操作:

  • 在不必實際變更應用程式 targetSdkVersion 的情況下,對鎖定的變更進行測試。您可以使用切換按鈕,強制啟用鎖定的特定行為變更,藉此評估該變更對現有應用程式的影響。
  • 僅對特定變更進行測試。如果在以指定版本為目標的變更中,您只想測試其中某些變更,則可使用切換按鈕停用不想測試的其他變更,不需要一次處理所有變更。
  • 透過 ADB 管理切換按鈕。您可以在自動化測試環境中使用 ADB 指令啟用及停用可切換的變更。
  • 使用標準變更 ID 加快偵錯速度。每個可切換的變更均有專屬的 ID 和名稱,可用於在記錄檔輸出中快速找出錯誤的起因。

如需此類用途的詳細工具使用說明,請參閱相容性架構工具一文。

相容性架構中的行為變更

本節中的清單說明 Android 15 相關變更相容性架構中包含的可切換變更,以及有助於執行一般應用程式測試的可切換變更。

您可以按預設狀態篩選變更清單。

Android 15 相容性架構中的可切換變更

CAMERA_MIC_INDICATORS_NOT_PRESENT

變更 ID:162547999
預設狀態:已為所有應用程式停用。

表示此裝置支援攝影機和麥克風指示燈。如果有顯示的話,值為 false,因為如果未顯示變更 ID,則 CompatChanges#isChangeEnabled 方法會傳回 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%。

ENFORCE_STRICT_QUERY_BUILDER

變更 ID:143231523
預設狀態:已為所有應用程式停用。

啟用之後,SQLiteQueryBuilder 會針對惡意引數驗證所有 CalendarProvider2 查詢選取項目。

FGS_BOOT_COMPLETED_RESTRICTIONS

變更 ID:296558535
預設狀態:已針對指定 Android 15 以上版本為目標的應用程式啟用。

啟用後,所有類型的前景服務背景都會從 BOOT_COMPLETED 廣播訊息停用,但以下情況除外:

如要進一步瞭解這項變更,請參閱 Android 15 行為變更頁面中的「 BOOT_COMPLETED 廣播接收器啟動前景服務的相關限制」一節。

FORCE_DISABLE_HEVC_SUPPORT

變更 ID:174227820
預設狀態:已為所有應用程式停用。

強制停用應用程式支援 HEVC 媒體功能。應用程式應該在其資訊清單中宣告支援的媒體功能,不過這個標記可用來強制禁止應用程式支援 HEVC,進而在存取以 HEVC 編碼的媒體時執行強制轉碼。設定此標記會覆寫應用程式所有 OS 級別的預設值。此設定依預設為停用狀態,表示系統會優先採用 OS 預設值。如果同時啟用此標記和 FORCE_ENABLE_HEVC_SUPPORT,OS 會忽略這兩個標記。

FORCE_ENABLE_HEVC_SUPPORT

變更 ID:174228127
預設狀態:已為所有應用程式停用。

強制允許應用程式支援 HEVC 媒體功能應用程式應在其資訊清單中宣告支援的媒體功能,不過這個標記可用來強制要求應用程式支援 HEVC,進而避免在存取以 HEVC 編碼的媒體時進行轉碼。設定此標記會覆寫應用程式所有 OS 級別的預設值。此設定依預設為停用狀態,表示系統會優先採用 OS 預設值。如果同時啟用此標記和 FORCE_DISABLE_HEVC_SUPPORT,OS 會忽略這兩個標記。

FORCE_NON_RESIZE_APP

變更 ID:181146395
預設狀態:已為所有應用程式停用。

將已套用的套件強制設為無法調整大小。

FORCE_RESIZE_APP

變更 ID:174042936
預設狀態:已為所有應用程式停用。

強制要求已套用的套件可調整大小。我們僅允許在全螢幕模式下調整視窗大小,不會強制要求應用程式套用可調整大小的多視窗模式。

GWP_ASAN

變更 ID:145634846
預設狀態:已為所有應用程式停用。

在應用程式中啟用取樣的原生記憶體錯誤偵測功能。

如要進一步瞭解如何使用 GWP-ASan,請參閱 GWP-ASan 指南

NATIVE_HEAP_ZERO_INIT

變更 ID:178038272
預設狀態:已為所有應用程式停用。

啟用原生堆積記憶體配置的自動零初始化功能。

NATIVE_MEMTAG_ASYNC

變更 ID:145772972
預設狀態:已為所有應用程式停用。

在此程序中啟用非同步 (ASYNC) 記憶體標記檢查。此標記只會影響支援 ARM Memory Tagging Extension (MTE) 的硬體。

NATIVE_MEMTAG_SYNC

變更 ID:177438394
預設狀態:已為所有應用程式停用。

在此程序中啟用同步 (SYNC) 記憶體標記檢查。 此標記只會影響支援 ARM Memory Tagging Extension (MTE) 的硬體。若同時啟用 NATIVE_MEMTAG_ASYNC 和此選項,則會以此選項為優先,並在 SYNC 模式下啟用 MTE。

OVERRIDE_ANY_ORIENTATION

變更 ID:265464455
預設狀態:已為所有應用程式停用。

啟用後,無論活動要求的方向為何,這項變更都會允許套用下列方向覆寫:

OVERRIDE_ANY_ORIENTATION_TO_USER

變更 ID:310816437
預設狀態:已為所有應用程式停用。

啟用後,系統會啟用 SCREEN_ORIENTATION_USER,以覆寫活動要求的任何方向。如果大螢幕裝置已啟用 ignoreOrientationRequest 且已啟用這項覆寫設定,固定方向應用程式可覆寫為全螢幕。

OVERRIDE_CAMERA_RESIZABLE_AND_SDK_CHECK

變更 ID:191514214
預設狀態:已為所有應用程式停用。

啟用後,這項變更會強制其套用的套件忽略 android:resizeableActivity 當前的值,並且指定與 M 相等或更低的 SDK,然後將活動視為無法調整大小。在此情況下,基於目前螢幕旋轉方向的考量,相機旋轉和裁剪的值僅取決於所需的補償。

OVERRIDE_CAMERA_ROTATE_AND_CROP_DEFAULTS

變更 ID:189229956
預設狀態:已為所有應用程式停用。

啟用後,這項變更會強制其套用的套件覆寫預設的相機旋轉和裁剪行為,並一律傳回 CaptureRequest.SCALER_ROTATE_AND_CROP_NONE

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_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,則此套件變更會將活動的最小顯示比例設定為由 OVERRIDE_MIN_ASPECT_RATIO_LARGE_VALUE 所定義的較大值。

OVERRIDE_MIN_ASPECT_RATIO_MEDIUM

變更 ID:180326845
預設狀態:已為所有應用程式停用。

此時如果也啟用了 OVERRIDE_MIN_ASPECT_RATIO,則此套件變更會將活動的最小顯示比例設定為由 OVERRIDE_MIN_ASPECT_RATIO_MEDIUM_VALUE 所定義的中等值。

OVERRIDE_MIN_ASPECT_RATIO_PORTRAIT_ONLY

變更 ID:203647190
預設狀態:已為所有應用程式啟用。

此時如果也啟用了 OVERRIDE_MIN_ASPECT_RATIO,則這項變更會限制其他強制將活動最小顯示比例為特定值的變更,例如 OVERRIDE_MIN_ASPECT_RATIO_LARGEOVERRIDE_MIN_ASPECT_RATIO_MEDIUM 時,也限制為同樣具備直向螢幕方向的活動。

OVERRIDE_RESPECT_REQUESTED_ORIENTATION

變更 ID:236283604
預設狀態:已為所有應用程式停用。

啟用後,無論裝置製造商可設定的忽略方向限制,這項變更都會排除所套用的套件。

OVERRIDE_UNDEFINED_ORIENTATION_TO_NOSENSOR

變更 ID:265451093
預設狀態:已為所有應用程式停用。

為已套用的應用程式啟用 SCREEN_ORIENTATION_NOSENSOR。除非也啟用了 OVERRIDE_ANY_ORIENTATION,否則只有在活動未指定任何其他固定方向時,系統才會使用 SCREEN_ORIENTATION_NOSENSOR

OVERRIDE_UNDEFINED_ORIENTATION_TO_PORTRAIT

變更 ID:265452344
預設狀態:已為所有應用程式停用。

為已套用的應用程式啟用 SCREEN_ORIENTATION_PORTRAIT。除非也啟用了 OVERRIDE_ANY_ORIENTATION,否則只有在活動未指定任何其他固定方向時,系統才會使用 SCREEN_ORIENTATION_PORTRAIT

RATE_LIMIT_TOASTS

變更 ID:174840628
預設狀態:您無法切換此變更。此變更僅可由相容性架構記錄。

Toast.show() 的呼叫次數啟用頻率限制,以免使用者在某段時間內收到大量浮動式訊息。若嘗試在特定時間範圍內顯示超過許可數量的浮動式訊息,系統將會捨棄浮動式訊息。

USE_EXPERIMENTAL_COMPONENT_ALIAS

變更 ID:196254758
預設狀態:已為所有應用程式停用。

啟用後,系統將允許「android」套件使用元件別名。