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