隨著今天 Android 14 Beta 3 的發布,我們隨之進入到 Android 開發周期的下一個階段。Beta 3 依舊圍繞著我們的核心主題打造,即隱私、安全、性能、開發者生產力和用戶定制,同時繼續完善平板電腦、可折疊設備等大屏設備上的體驗。
?Beta 3 也讓 Android 14 抵達平臺穩定性里程碑,這意味著開發者 API 和所有面向應用的行為都已最終確定,供大家評估和整合進自己的應用。感謝大家這一路上向我們分享的寶貴意見和反饋,是大家幫助我們順利抵達這一里程碑。
-
平臺穩定性里程碑
https://developer.android.google.cn/about/versions/14/overview#platform_stability
-
非線性字體放大
https://developer.android.google.cn/about/versions/14/features#non-linear-font-scaling
-
授予對照片和視頻的部分訪問權限
https://developer.android.google.cn/about/versions/14/changes/partial-photo-video-access
-
支持內置和定制預測性返回動畫
https://developer.android.google.cn/about/versions/14/features/predictive-back
-
OpenJDK 17 更新
https://developer.android.google.cn/about/versions/14/features#core
平臺穩定性里程碑
隨著 Beta 3 和平臺穩定性里程碑的到來,您可以放心地開發和發布必要的兼容性更新。請即刻開始進行最終兼容性測試,并準備發布必要的更新,從而在剩下的 Beta 測試期內獲得寶貴的反饋。這些工作都有助于您在今年晚些時候 Android 14 正式發布之前就打造出流暢的應用體驗。
-
平臺穩定性里程碑
https://developer.android.google.cn/about/versions/14/overview#platform_stability
應用兼容性
隨著 Android 每個版本的發布,我們都會對平臺進行整體的改進,以強化隱私和安全,并優化整個操作系統的用戶體驗。這些都可能會影響到您的應用。要測試應用的兼容性,只需在運行 Android 14 Beta 3 的設備上,通過 Google Play 或其他來源安裝您的正式版應用即可。請測試應用的所有流程,找出功能或用戶界面中暴露的問題。請通過行為變更清單 (針對所有應用) 來確定測試重點:https://developer.android.google.cn/about/versions/14/behavior-changes-all 這里列出一些需要注意的變更:
非線性字體放大
從 Android 14 開始,系統默認支持字體放大至 200%。這項變更為弱視用戶提供了符合網絡內容無障礙指南 (WCAG) 的更豐富的無障礙功能選項。請在啟用最大文字尺寸 (200%) 的條件下進行用戶界面測試,以確保您的應用能適應更大的文字尺寸且不影響可用性。為了更好地適配此功能,也請確保您在 Configuration 或 DisplayMetrics 中沒有硬編碼計算 sp,以及通過 TypedValue 的 applyDimension() 和 deriveDimension() 在 sp 和 px 之間進行轉換。
-
非線性字體放大
https://developer.android.google.cn/about/versions/14/behavior-changes-all#non-linear-font-scaling
-
網絡內容無障礙指南 (WCAG)
https://www.w3.org/TR/UNDERSTANDING-WCAG20/visual-audio-contrast-scale.html
-
使用非線性字體放大測試應用
https://developer.android.google.cn/about/versions/14/features#test-scaling
-
Configuration
https://developer.android.google.cn/reference/android/content/res/Configuration
-
DisplayMetrics
https://developer.android.google.cn/reference/android/util/DisplayMetrics
-
TypedValue
https://developer.android.google.cn/reference/android/util/TypedValue
-
applyDimension()
https://developer.android.google.cn/reference/android/util/TypedValue#applyDimension(int,%20float,%20android.util.DisplayMetrics)
-
deriveDimension()
https://developer.android.google.cn/reference/android/util/TypedValue#deriveDimension(int,%20float,%20android.util.DisplayMetrics)
對照片和視頻授予部分訪問權限
當您的應用請求任意視覺媒體權限 (READ_MEDIA_IMAGES 或 READ_MEDIA_VIDEO,于 Android 13,API 33 中引入) 時,用戶可以僅授予對媒體庫的部分訪問權限。當您的應用切換至后臺,或當用戶主動殺掉您的應用時,系統會將這些部分訪問權限做為單次授權處理,繼而最終關閉這些權限。如果您的應用有遵守此類授權的最佳實踐,此項變更不會造成影響。Android 14 引入了 READ_MEDIA_VISUAL_USER_SELECTED 權限來幫助應用更好地支持這些變更。我們建議您考慮使用照片選擇器來為用戶提供安全的方式讓應用指定訪問某些照片和視頻,這樣無需申請權限,體驗也更流暢。
-
READ_MEDIA_IMAGES
https://developer.android.google.cn/reference/android/Manifest.permission#READ_MEDIA_IMAGES
-
READ_MEDIA_VIDEO
https://developer.android.google.cn/reference/android/Manifest.permission#READ_MEDIA_VIDEO
-
對照片和視頻授予部分訪問權限
https://developer.android.google.cn/about/versions/14/changes/partial-photo-video-access
-
最佳實踐
https://developer.android.google.cn/about/versions/14/changes/partial-photo-video-access#best-practices
-
READ_MEDIA_VISUAL_USER_SELECTED
https://developer.android.google.cn/reference/android/Manifest.permission#READ_MEDIA_VISUAL_USER_SELECTED
-
照片選擇器
https://developer.android.google.cn/training/data-storage/shared/photopicker
數據安全信息更加凸顯
為了更好地保護用戶隱私,Android 14 在系統中增加了一些位置來展示您在 Play 管理中心的表單中聲明的信息。對于某些權限,我們在系統運行時權限對話框中加入了一個可點擊的部分,用來進一步展示應用的數據共享情況。系統對話框的這一部分會展示諸如為什么您的應用需要和第三方共享數據等信息,以及為用戶提供跳轉鏈接,用來管理您應用的數據訪問設置。我們建議您審查自己應用的位置數據共享政策,并相應地更新應用在 Google Play 數據安全部分中聲明的信息。
-
更加凸顯數據安全信息
https://developer.android.google.cn/about/versions/14/changes/data-safety
-
為 Google Play 的數據安全部分提供信息
https://support.google.com/googleplay/android-developer/answer/10787469
請通過行為變更清單了解所有可能會影響您的應用或游戲兼容性的變更。如果您發現應用的開發庫或 SDK 存在兼容性問題,請更新它們至最新版本,或聯系其開發者尋求幫助。
-
行為變更 (所有應用)
https://developer.android.google.cn/about/versions/14/behavior-changes-all
一旦您發布了當前應用的兼容版本,就可以開始更新應用的 targetSdkVersion。請查閱行為變更清單 (針對以Android 14 為目標平臺的應用) 并使用兼容性框架工具來快速檢測問題。
-
更新應用的目標平臺并使用新 API 進行構建
https://developer.android.google.cn/preview/migration#setup_sdk
-
符合 Google Play 的目標 API 級別要求
https://developer.android.google.cn/distribute/best-practices/develop/target-sdk
-
行為變更 (以 Android 14 或更高版本為目標平臺的應用)
https://developer.android.google.cn/about/versions/14/behavior-changes-14
-
兼容性框架工具
https://developer.android.google.cn/guide/app-compatibility/test-debug
下面列出一些需要注意的變更 (適用于 targetSdkVersion 為 API 34 或更高的應用):
必須提供前臺服務類型
如果您的應用以 Android 14 為目標平臺,則您必須為應用中的每個前臺服務指定至少一個前臺服務類型。請務必選擇能代表應用實際用例的前臺服務類型。系統會檢查您是否選擇了正確的前臺服務類型,以及應用是否正確請求運行時權限或使用所需的 API。比如,如果應用的前臺服務類型是 FOREGROUND_SERVICE_TYPE_LOCATION,則系統會認為其需要申請 ACCESS_COARSE_LOCATION 或 ACCESS_FINE_LOCATION 權限。Android 14 為健康和遠程消息傳遞場景新增了對應的前臺服務類型,而且也為短期服務、特殊用途和系統豁免保留了新的類型。如果您應用中的某個場景和這些類型都不匹配,我們強烈建議您將這部分邏輯遷移至使用 WorkManager 或用戶發起的數據傳輸作業。
-
前臺服務
https://developer.android.google.cn/guide/components/foreground-services
-
前臺服務類型是必填項
https://developer.android.google.cn/about/versions/14/changes/fgs-types-required
-
FOREGROUND_SERVICE_TYPE_LOCATION
https://developer.android.google.cn/reference/android/content/pm/ServiceInfo#FOREGROUND_SERVICE_TYPE_LOCATION
-
ACCESS_COARSE_LOCATION
https://developer.android.google.cn/reference/android/Manifest.permission#ACCESS_COARSE_LOCATION
-
ACCESS_FINE_LOCATION
https://developer.android.google.cn/reference/android/Manifest.permission#ACCESS_FINE_LOCATION
-
健康
https://developer.android.google.cn/about/versions/14/changes/fgs-types-required#health
-
遠程消息傳遞
https://developer.android.google.cn/about/versions/14/changes/fgs-types-required#remote-messaging
-
短期服務
https://developer.android.google.cn/about/versions/14/changes/fgs-types-required#short-service
-
特殊用途
https://developer.android.google.cn/about/versions/14/changes/fgs-types-required#special-use
-
系統豁免
https://developer.android.google.cn/about/versions/14/changes/fgs-types-required#system-exempted
-
使用 WorkManager 調度任務
https://developer.android.google.cn/topic/libraries/architecture/workmanager
-
用戶發起的數據傳輸作業
https://developer.android.google.cn/about/versions/14/changes/user-initiated-data-transfers
OpenJDK 17 更新
Android 14 的一些變更旨在讓核心庫與最新的 OpenJDK LTS 版本功能對齊,這些變更可能會影響到您應用的兼容性,包括正則表達式、UUID 處理、涉及到 ProGuard 的問題,以及增加的 java.lang.ClassValue。
-
OpenJDK 17 更新
https://developer.android.google.cn/about/versions/14/behavior-changes-14#core-libraries
-
java.lang.ClassValue
https://developer.android.google.cn/reference/java/lang/ClassValue
安全變更
以 Android 14 為目標平臺的應用不能再向內部組件發送特定的隱式 Intent。運行時注冊的廣播接收器必須指定導出行為,除非它們只接收系統廣播。動態加載的代碼文件必須被標記為只讀。如果 zip 文件名包含 ".."或以 "/"開頭,則 ZipFile(String) 和 ZipInputStream.getNextEntry() 會拋出 ZipException 異常,以避免觸發壓縮路徑遍歷漏洞。從后臺啟動 Activity 現在有了額外的限制,對調用非 SDK 接口也有了更新的限制。
-
安全變更
https://developer.android.google.cn/about/versions/14/behavior-changes-14#security
-
對隱式 intent 和待處理 intent 的限制
https://developer.android.google.cn/about/versions/14/behavior-changes-14#safer-intents
-
在運行時注冊的廣播接收器必須指定導出行為
https://developer.android.google.cn/about/versions/14/behavior-changes-14#runtime-receivers-exported
-
僅接收系統廣播的接收器的例外情況
https://developer.android.google.cn/about/versions/14/behavior-changes-14#system-broadcasts
-
更安全的動態代碼加載
https://developer.android.google.cn/about/versions/14/behavior-changes-14#safer-dynamic-code-loading
-
ZipFile(String)
https://developer.android.google.cn/reference/java/util/zip/ZipFile#public-constructors
-
ZipInputStream.getNextEntry()
https://developer.android.google.cn/reference/java/util/zip/ZipInputStream#getNextEntry%28%29
-
ZipException
https://developer.android.google.cn/reference/java/util/zip/ZipException
-
壓縮路徑遍歷
https://developer.android.google.cn/about/versions/14/behavior-changes-14#zip-path-traversal
-
針對從后臺啟動 Activity 的其他限制
https://developer.android.google.cn/about/versions/14/behavior-changes-14#background-activity-restrictions
-
更新后的非 SDK 限制
https://developer.android.google.cn/about/versions/14/behavior-changes-14#non-sdk-restrictions
即刻體驗 Android 14
不論您是想體驗 Android 14 的功能、測試應用還是提交反饋,都可以從這次的 Beta 3 開始。您還可以使用我們合作伙伴的設備來測試應用在平板電腦和可折疊設備上的表現,不過最簡單的方法還是使用 Android Studio SDK 管理器最新預覽版中安裝了 64 位系統映像的 Android 模擬器中的 Pixel Tablet 或 Pixel Fold 配置進行測試。您還可以直接使用支持的 Pixel 設備 (包括最新的 Pixel 7a) 參與測試,并通過 OTA 方式獲得本次以及將來的 Android 14 Beta 版 (包括功能更新)。
-
反饋與需求
https://developer.android.google.cn/about/versions/14/feedback
-
安裝 SDK
https://developer.android.google.cn/about/versions/14/setup-sdk#install-sdk
-
參與 Beta 版測試
https://www.google.com/android/beta
為了獲得最佳的 Android 14 開發體驗,我們建議您使用 Android Studio Hedgehog 的最新版本。
-
Android Studio Hedgehog
https://developer.android.google.cn/studio/preview
- 體驗新功能和 API - 歡迎大家繼續在我們的跟蹤頁報告問題。
- 測試應用的兼容性 - 測試您的應用是否受到 Android 14 默認行為變更的影響。請將應用安裝到運行 Android 14 的設備或模擬器上進行徹底的測試。
- 使用可選變更項測試應用 - Android 14 提供了可選的行為變更,這些變更僅在您的應用以新平臺為目標時才會造成影響。盡早了解和評估這些變更十分重要。為了便于測試,您可以單獨啟用或者禁用這些變更。
-
設置 Android 14 SDK
https://developer.android.google.cn/about/versions/14/setup-sdk
-
兼容性框架變更 (Android 14)
https://developer.android.google.cn/about/versions/14/reference/compat-framework-changes
https://www.google.com/android/beta
請訪問 Android 14 開發者網站了解如何獲取 Beta 版等詳細信息:https://developer.android.google.cn/about/versions/14
* Java 和 OpenJDK 是 Oracle 和/或其附屬公司的商標或注冊商標。
?點擊屏末|閱讀原文|進一步了解 Android 14 詳細更新
原文標題:平臺穩定性里程碑 | Android 14 Beta 3 發布
文章出處:【微信公眾號:谷歌開發者】歡迎添加關注!文章轉載請注明出處。
-
谷歌
+關注
關注
27文章
6163瀏覽量
105307
原文標題:平臺穩定性里程碑 | Android 14 Beta 3 發布
文章出處:【微信號:Google_Developers,微信公眾號:谷歌開發者】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論