作者 / Dave Burke, VP of Engineering
我們正式發(fā)布Android 14,并將其源代碼推送至Android 開(kāi)源項(xiàng)目(AOSP)。Android 14旨在提高開(kāi)發(fā)者的生產(chǎn)力,同時(shí)為用戶(hù)帶來(lái)更好的性能、隱私、安全和定制功能。
-
Android 14
https://developer.android.google.cn/about/versions/14
-
Android 開(kāi)源項(xiàng)目
https://source.android.google.cn/
Android 14 自即日起會(huì)推送至指定的 Pixel 設(shè)備,并將于今年晚些時(shí)候出現(xiàn)在更多您喜愛(ài)的設(shè)備上,包括三星 Galaxy、iQOO、Nothing、一加、OPPO、真我、夏普、索尼、TECNO、vivo、小米等。
大家在 Android 14 開(kāi)發(fā)者預(yù)覽和 Beta 測(cè)試階段和我們分享了諸多寶貴的反饋和意見(jiàn),并付諸努力確保您的應(yīng)用在 Android 14 上提供出色的體驗(yàn),我們?cè)谶@里再次向大家表示衷心的感謝。為數(shù)十億 Android 用戶(hù)打造出優(yōu)秀的 Android 平臺(tái),這包含了我們、Android 硬件制造商以及開(kāi)發(fā)者社區(qū)里每一位成員的努力。
Android 14 帶來(lái)的更新內(nèi)容眾多,本文會(huì)著重介紹對(duì)開(kāi)發(fā)者影響最大的部分。請(qǐng)您務(wù)必前往Android 14 開(kāi)發(fā)者網(wǎng)站了解所有新功能的詳細(xì)信息:
https://developer.android.google.cn/about/versions/14
性能和效率
Android 14 聚焦的重點(diǎn)領(lǐng)域之一就是為平臺(tái)帶來(lái)更好的性能和效率表現(xiàn)。
凍結(jié)緩存應(yīng)用
在 Android 14 之前,緩存的應(yīng)用可以基本不受限制地運(yùn)行。在 Android 14 中,我們會(huì)在應(yīng)用進(jìn)入緩存后很短的時(shí)間內(nèi)將其凍結(jié),其 CPU 時(shí)間降為零。在 Android 14 Beta 上,我們發(fā)現(xiàn)緩存進(jìn)程消耗的 CPU 周期要比 Android 13 正式版設(shè)備上少 50%。因此,常規(guī)的 Android 應(yīng)用生命周期 API (如前臺(tái)服務(wù)、JobScheduler 或 WorkManager) 之外的后臺(tái)工作將被禁止。
-
進(jìn)程和應(yīng)用生命周期
https://developer.android.google.cn/guide/components/activities/process-lifecycle
廣播優(yōu)化
為了讓被凍結(jié)的應(yīng)用更長(zhǎng)時(shí)間保持凍結(jié)狀態(tài) (比如不會(huì)獲得 CPU 時(shí)間),我們調(diào)整了應(yīng)用進(jìn)入緩存狀態(tài)后對(duì)上下文注冊(cè)的廣播的接收方式: 這些廣播也許會(huì)被加入隊(duì)列,一些重復(fù)的廣播,如BATTERY_CHANGED,可能會(huì)被合并為一個(gè)最終廣播。
-
進(jìn)程和應(yīng)用生命周期
https://developer.android.google.cn/guide/components/activities/process-lifecycle
-
上下文注冊(cè)的接收器
https://developer.android.google.cn/guide/components/broadcasts#context-registered-receivers
-
BATTERY_CHANGED
https://developer.android.google.cn/reference/android/content/Intent#ACTION_BATTERY_CHANGED
更快的應(yīng)用啟動(dòng)速度
隨著 Android 14 對(duì)緩存應(yīng)用和廣播優(yōu)化措施一并到來(lái)的,是我們得以打破平臺(tái)緩存應(yīng)用數(shù)量的長(zhǎng)期限制,減少了冷啟動(dòng)應(yīng)用的情況,而且設(shè)備 RAM 越大改善就越明顯。在 8GB RAM 的設(shè)備上,Beta 測(cè)試組的冷啟動(dòng)應(yīng)用減少了 20%,而在 12GB RAM 的設(shè)備上則減少了 30%。與熱啟動(dòng)相比,冷啟動(dòng)速度較慢,而且耗電量更大。這項(xiàng)工作有效地改善了電量消耗和整體應(yīng)用啟動(dòng)時(shí)間。
減少內(nèi)存足跡
改進(jìn) Android 運(yùn)行時(shí) (Android Runtime, ART) 對(duì) Android 用戶(hù)體驗(yàn)影響巨大。代碼大小是我們關(guān)注的關(guān)鍵指標(biāo)之一: 生成的文件越小,對(duì)內(nèi)存 (包括 RAM 和存儲(chǔ)空間) 的占用就越小。在 Android 14 中,ART 可將代碼尺寸平均減小 9.3% 且不影響性能。
定制化
定制化體驗(yàn)是 Android 的核心基因,我們將繼續(xù)保障 Android 14 用戶(hù)圍繞其個(gè)人需求的定制化體驗(yàn),為此我們進(jìn)一步改進(jìn)了無(wú)障礙和國(guó)際化功能。 非線(xiàn)性字體放大- 從 Android 14 開(kāi)始,用戶(hù)可以將字體放大到 200%。此前,Pixel 設(shè)備上的字體最多能放大至 130%。系統(tǒng)會(huì)采用非線(xiàn)性的放大曲線(xiàn),讓屏幕上大文本元素的放大速度和小文本元素速度不同,從而防止大文本元素被過(guò)分放大。請(qǐng)?jiān)L問(wèn)官方文檔了解詳細(xì)信息:http://developer.android.google.cn/about/versions/14/features#non-linear-font-scaling
△ (左) 100% 字體尺寸 (中) 線(xiàn)性放大至 200% (右) 非線(xiàn)性放大至 200%各應(yīng)用語(yǔ)言偏好設(shè)定 - 您可以使用 LocaleManager.setOverrideLocaleConfig 動(dòng)態(tài)更新應(yīng)用的 localeConfig,以自行定義在 Android 設(shè)置頁(yè)面中各個(gè)應(yīng)用語(yǔ)言列表中的語(yǔ)言清單。IME 現(xiàn)在可以使用 LocaleManager.getApplicationLocales 獲取當(dāng)前應(yīng)用的界面語(yǔ)言,從而更新鍵盤(pán)語(yǔ)言。從 Android Studio Giraffe 和 AGP 8.1 開(kāi)始,您可以對(duì)應(yīng)用進(jìn)行配置,讓其自動(dòng)支持 Android 13 各應(yīng)用語(yǔ)言偏好設(shè)定。
-
LocaleManager.setOverrideLocaleConfig
https://developer.android.google.cn/reference/android/app/LocaleManager?hl=en#setOverrideLocale
-
LocaleManager.getApplicationLocales
https://developer.android.google.cn/reference/android/app/LocaleManager#getApplicationLocales()
-
啟用各應(yīng)用自動(dòng)設(shè)定語(yǔ)言支持
https://developer.android.google.cn/guide/topics/resources/app-languages#auto-localeconfig
-
各應(yīng)用語(yǔ)言偏好設(shè)定
https://developer.android.google.cn/guide/topics/resources/app-languages
地區(qū)偏好設(shè)置 - 地區(qū)偏好設(shè)置可讓用戶(hù)定制溫度單位、每周的第一天和計(jì)數(shù)系統(tǒng):
https://developer.android.google.cn/reference/androidx/core/text/util/LocalePreferences
語(yǔ)法變化- 語(yǔ)法變化 (Grammatical Infection) API 可以讓開(kāi)發(fā)者更輕松地為需要使用語(yǔ)法性別的用戶(hù)提供支持。開(kāi)發(fā)者只需為相應(yīng)的語(yǔ)言添加性別變位譯文,并使用這個(gè) API,即可為不同用戶(hù)展示定制化的譯文:https://developer.android.google.cn/reference/androidx/core/text/util/LocalePreferences
新的媒體功能
超強(qiáng) HDR (Ultra HDR)圖片- Android 14 現(xiàn)在支持 10 位高動(dòng)態(tài)范圍 (HDR) 圖像以及超強(qiáng) HDR 圖像格式。該格式完全向后兼容 JPEG,應(yīng)用可以無(wú)縫使用 HDR 圖像,并根據(jù)需要使用標(biāo)準(zhǔn)動(dòng)態(tài)范圍來(lái)呈現(xiàn)它們。
-
超強(qiáng) HDR 圖像格式
https://developer.android.google.cn/guide/topics/media/hdr-image-format
無(wú)損 USB 音頻 - Android 14 設(shè)備支持無(wú)損音頻格式,讓您可以通過(guò) USB 有線(xiàn)耳機(jī)獲得發(fā)燒級(jí)的音頻體驗(yàn):
https://developer.android.google.cn/reference/android/media/AudioMixerAttributes
新的圖形功能
帶有頂點(diǎn)和片段著色器的自定義網(wǎng)格- Android 14 新增了對(duì)自定義網(wǎng)格的支持,這些網(wǎng)格可以被定義為三角形或三角形帶,還能根據(jù)需要支持索引。這些網(wǎng)格使用AGSL編寫(xiě),包含自定義屬性、頂點(diǎn)跨度、varying 變量和頂點(diǎn)/片段著色器。
-
自定義網(wǎng)格
https://developer.android.google.cn/reference/kotlin/android/graphics/Mesh
-
三角形
https://developer.android.google.cn/reference/kotlin/android/graphics/Mesh?#TRIANGLES:kotlin.Int
-
三角形帶
https://developer.android.google.cn/reference/kotlin/android/graphics/Mesh?#triangle_strip
-
AGSL
https://developer.android.google.cn/develop/ui/views/graphics/agsl
-
網(wǎng)格定義
https://developer.android.google.cn/reference/kotlin/android/graphics/MeshSpecification
-
屬性
https://developer.android.google.cn/reference/kotlin/android/graphics/MeshSpecification.Attribute
-
Varying
https://developer.android.google.cn/reference/kotlin/android/graphics/MeshSpecification.Varying
-
HardwareBufferRenderer
https://developer.android.google.cn/reference/android/graphics/HardwareBufferRenderer
-
Canvas
https://developer.android.google.cn/reference/android/graphics/Canvas
-
HardwareBuffer
https://developer.android.google.cn/reference/android/hardware/HardwareBuffer
-
SurfaceControl
https://developer.android.google.cn/reference/android/view/SurfaceControl
跨設(shè)備以及多尺寸屏幕開(kāi)發(fā)
Android 14 在 Android 12L 和 13 的基礎(chǔ)上,繼續(xù)對(duì)平板電腦和可折疊設(shè)備帶來(lái)良好的支持:比如讓任務(wù)欄更好地支持多任務(wù)、發(fā)布針對(duì)大屏幕優(yōu)化的系統(tǒng)應(yīng)用和通知界面、Activity 嵌入,改進(jìn)了信箱模式和媒體投屏等。您可以查閱我們的大屏設(shè)備應(yīng)用質(zhì)量指南,以及有關(guān)為大屏和可折疊設(shè)備構(gòu)建應(yīng)用的其他參考資料,幫助您在所有尺寸的 Android 設(shè)備上優(yōu)化應(yīng)用。我們還在大屏設(shè)計(jì)參考圖庫(kù)中為您準(zhǔn)備了包括社交和通信、多媒體、生產(chǎn)力、購(gòu)物和閱讀等常見(jiàn)應(yīng)用的設(shè)計(jì)參考。
-
大屏設(shè)備應(yīng)用質(zhì)量
https://developer.android.google.cn/docs/quality-guidelines/tablet-app-quality
-
大屏幕使用入門(mén)
https://developer.android.google.cn/guide/topics/large-screens/get-started-with-large-screens
-
為可折疊設(shè)備構(gòu)建應(yīng)用
https://developer.android.google.cn/guide/topics/ui/foldables
-
大屏設(shè)備設(shè)計(jì)參考圖庫(kù)
https://developer.android.google.cn/large-screens/gallery
-
設(shè)計(jì)參考: 社交和通信
https://developer.android.google.cn/large-screens/gallery/social
-
設(shè)計(jì)參考: 多媒體
https://developer.android.google.cn/large-screens/gallery/media
-
設(shè)計(jì)參考: 生產(chǎn)力
https://developer.android.google.cn/large-screens/gallery/productivity
-
設(shè)計(jì)參考: 購(gòu)物
https://developer.android.google.cn/large-screens/gallery/shopping
-
設(shè)計(jì)參考: 閱讀
https://developer.android.google.cn/large-screens/gallery/reading
提升生產(chǎn)力
Android 14 中的許多更新會(huì)讓您的開(kāi)發(fā)體驗(yàn)更一致、更有趣,也更高效。這些更新中的許多內(nèi)容也會(huì)通過(guò)Google Play 系統(tǒng)更新、Jetpack 開(kāi)發(fā)庫(kù)和Google Play 服務(wù)在之前的平臺(tái)版本上提供,便于您覆蓋更多的用戶(hù)。
-
Google Play 系統(tǒng)更新
https://support.google.com/product-documentation/answer/11462338
-
Jetpack 開(kāi)發(fā)庫(kù)
https://developer.android.google.cn/jetpack/androidx/explorer
-
Google Play 服務(wù)
https://developer.android.google.cn/google/play-services/index.html
OpenJDK 17 支持- 借助Google Play 系統(tǒng)更新(Project Mainline),超過(guò) 6 億臺(tái)設(shè)備得以收到隨 Android 14 一同發(fā)布的最新 Android Runtime (ART) 更新。請(qǐng)閱讀我們的博客文章了解詳細(xì)信息:
https://android-developers.googleblog.com/2023/08/latest-artwork-on-hundreds-of-millions-of-devices.html
-
Google Play 系統(tǒng)更新
https://android-developers.googleblog.com/2019/05/fresher-os-with-projects-treble-and-mainline.html
https://android-developers.googleblog.com/2023/07/credential-manager-beta-easy-secure-authentication-with-passkeys-on-android.html
-
使用憑據(jù)管理器讓用戶(hù)登錄
https://developer.android.google.cn/training/sign-in/passkeys
-
使用通行密鑰對(duì)用戶(hù)進(jìn)行身份驗(yàn)證https://developer.android.google.cn/design/ui/mobile/guides/patterns/passkeys
Health Connect-Health Connect是一個(gè)由用戶(hù)控制的,用于存放用戶(hù)健康和健身數(shù)據(jù)的設(shè)備端內(nèi)容庫(kù),它讓實(shí)現(xiàn)跨應(yīng)用和跨設(shè)備的集成健康和健身體驗(yàn)變得前所未有的簡(jiǎn)單。Health Connect 是 Android 平臺(tái)的一部分,通過(guò) Google Play 系統(tǒng)更新進(jìn)行升級(jí),無(wú)需單獨(dú)下載。在更早的設(shè)備上則以應(yīng)用的形式提供,可通過(guò) Google Play 商店下載。請(qǐng)參閱《Android Health 最新動(dòng)態(tài)》了解 Health Connect 的更多信息。
-
Health Connect
https://developer.android.google.cn/health-connect
更強(qiáng)大的系統(tǒng) Sharesheet- Android 14 的系統(tǒng) Sharesheet 可添加自定義動(dòng)作,并改進(jìn)了共享目標(biāo)的排名機(jī)制,讓您的應(yīng)用可以輕松為用戶(hù)提供豐富、一致的共享體驗(yàn)。
-
提高直接共享目標(biāo)的排名
https://developer.android.google.cn/about/versions/14/features#publish-dynamic-shortcuts
-
提升 Android 后臺(tái)工作穩(wěn)定性
https://android-developers.googleblog.com/2023/05/improving-consistency-of-background-work-on-android.html
-
前臺(tái)服務(wù)類(lèi)型是必填項(xiàng)
https://developer.android.google.cn/about/versions/14/changes/fgs-types-required
-
設(shè)備和網(wǎng)絡(luò)濫用
https://support.google.com/googleplay/android-developer/answer/13315670
-
將前臺(tái)服務(wù)遷移到用戶(hù)發(fā)起的數(shù)據(jù)傳輸作業(yè)
https://developer.android.google.cn/about/versions/14/changes/user-initiated-data-transfers
-
setRequiredNetworkType
https://developer.android.google.cn/reference/android/app/job/JobInfo.Builder#setRequiredNetworkType%28int%29
用戶(hù)體驗(yàn)
預(yù)測(cè)性返回- 繼 Android 13 引入 "返回主屏幕" 動(dòng)畫(huà)后,Android 14 引入了新的跨 Activity 和跨任務(wù)的預(yù)測(cè)性返回 (Predictive Back) 系統(tǒng)動(dòng)畫(huà)。該系統(tǒng)動(dòng)畫(huà)目前仍可在開(kāi)發(fā)者選項(xiàng)中手動(dòng)啟用,以便留出時(shí)間進(jìn)行更多打磨,并讓更多應(yīng)用選擇對(duì)預(yù)測(cè)性返回進(jìn)行適配。Material 和 Jetpack 庫(kù)目前已提供預(yù)測(cè)性返回動(dòng)畫(huà)供大家使用。
-
測(cè)試預(yù)測(cè)性返回手勢(shì)動(dòng)畫(huà)
https://developer.android.google.cn/guide/navigation/custom-back/predictive-back-gesture#dev-option
-
添加對(duì)內(nèi)置和自定義預(yù)測(cè)性返回動(dòng)畫(huà)的支持
https://developer.android.google.cn/about/versions/14/features/predictive-back
隱私和安全
數(shù)據(jù)分享更新- 用戶(hù)將在位置信息的運(yùn)行時(shí)授權(quán)對(duì)話(huà)框中看到一塊新的描述,用于突出顯示應(yīng)用與第三方共享位置數(shù)據(jù)的情況,用戶(hù)可以了解更多信息并控制應(yīng)用對(duì)數(shù)據(jù)的訪(fǎng)問(wèn)。
對(duì)照片和視頻授予部分訪(fǎng)問(wèn)權(quán)限- 在 Android 14 (API 級(jí)別 34) 中,當(dāng)應(yīng)用請(qǐng)求 Android 13 (API 級(jí)別 33) 中引入的任何視覺(jué)媒體權(quán)限 (READ_MEDIA_IMAGES或READ_MEDIA_VIDEO) 時(shí),用戶(hù)可以授予對(duì)其照片和視頻的部分訪(fǎng)問(wèn)權(quán)限。我們建議您在應(yīng)用中采用最新的最佳實(shí)踐方案來(lái)適配此項(xiàng)變更。
-
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
-
選擇合適的存儲(chǔ)體驗(yàn)
https://android-developers.googleblog.com/2023/08/choosing-right-storage-experience.html
后臺(tái)啟動(dòng) Activity-Android 10(API 級(jí)別 29) 及以上版本對(duì)在后臺(tái)運(yùn)行的應(yīng)用啟動(dòng)Activity的時(shí)機(jī)施加了限制。為進(jìn)一步減少中斷用戶(hù)體驗(yàn)的情況,以 Android 14 為目標(biāo)平臺(tái)的應(yīng)用在發(fā)送 PendingIntent 或綁定服務(wù)時(shí),需要授予啟動(dòng)特權(quán)才能在后臺(tái)啟動(dòng) Activity。
-
Android 10
https://developer.android.google.cn/about/versions/10
-
Activity
https://developer.android.google.cn/guide/components/activities/intro-activities
-
從后臺(tái)啟動(dòng) Activity 的限制
https://developer.android.google.cn/guide/components/activities/background-starts
-
針對(duì)從后臺(tái)啟動(dòng) Activity 的其他限制
https://developer.android.google.cn/about/versions/14/behavior-changes-14#background-activity-restrictions
阻止安裝使用舊版 SDK 的應(yīng)用- 為防止惡意軟件利用舊版 API 繞過(guò)最新的安全和隱私保護(hù)措施,從 Android 14 開(kāi)始,targetSdkVersion 低于 23 的應(yīng)用將無(wú)法安裝。
-
targetSdkVersion
https://developer.android.google.cn/guide/topics/manifest/uses-sdk-element
https://developer.android.google.cn/about/versions/14/behavior-changes-14#runtime-receivers-exported
-
Context.registerReceiver()
https://developer.android.google.cn/reference/android/content/Context#registerReceiver(android.content.BroadcastReceiver,%20android.content.IntentFilter,%20int)
https://developer.android.google.cn/about/versions/14/behavior-changes-14#safer-dynamic-code-loading
更安全的隱式 Intent- 以 Android 14 為目標(biāo)平臺(tái)的應(yīng)用在使用隱式 Intent 創(chuàng)建可變的PendingIntent時(shí)將拋出一個(gè)異常,以防它們被用來(lái)觸發(fā)意外的代碼路徑。應(yīng)用在使用 PendingIntent 時(shí)需要確保其不可變,或使用顯式 Intent。請(qǐng)?jiān)L問(wèn)官方文檔了解詳細(xì)信息:https://developer.android.google.cn/about/versions/14/behavior-changes-14#safer-intents
-
PendingIntent
https://developer.android.google.cn/reference/android/app/PendingIntent
應(yīng)用兼容性
在發(fā)布新的平臺(tái)版本時(shí),我們會(huì)優(yōu)先考慮應(yīng)用的兼容性,以讓更新過(guò)程更快、更順暢。在 Android 14 中,大多數(shù)面向應(yīng)用的變更依然是可選的,這樣能為大家提供更多的時(shí)間進(jìn)行調(diào)整和適配,直到您將應(yīng)用的 targetSdkVersion 升級(jí)為 34。我們還更新了工具和流程,幫助大家更快地做好準(zhǔn)備。
更輕松地針對(duì)變更進(jìn)行測(cè)試和調(diào)試- 為了讓您更輕松地測(cè)試可能會(huì)影響應(yīng)用的可選變更,我們今年依然為許多變更提供了開(kāi)關(guān)選項(xiàng)。您可以在開(kāi)發(fā)者選項(xiàng)或 adb 中單獨(dú)強(qiáng)制啟用或停用這些變更。請(qǐng)?jiān)L問(wèn)官方文檔了解詳細(xì)信息:
https://developer.android.google.cn/about/versions/14/reference/compat-framework-changes△ 開(kāi)發(fā)者選項(xiàng)中的應(yīng)用兼容性開(kāi)關(guān)
應(yīng)用、開(kāi)發(fā)庫(kù)、工具
和游戲引擎:請(qǐng)就緒!
為確保您的用戶(hù)們獲得流暢的使用體驗(yàn),請(qǐng)盡快完成最終兼容性測(cè)試并發(fā)布必要的更新,現(xiàn)在是時(shí)候了!
如果您是 SDK、開(kāi)發(fā)庫(kù)、工具和游戲引擎的開(kāi)發(fā)者,現(xiàn)在發(fā)布必要的更新則尤為重要: 您的更新能讓下游的應(yīng)用和游戲開(kāi)發(fā)者免遭兼容性問(wèn)題困擾,并能及時(shí)引入最新的 SDK 功能特性。因此,請(qǐng)務(wù)必在發(fā)布了 Android 14 所必需的兼容性更新后,及時(shí)告知您的下游開(kāi)發(fā)者們。
只需在運(yùn)行 Android 14的設(shè)備上,通過(guò) Google Play或其他來(lái)源安裝您的正式版應(yīng)用即可開(kāi)始測(cè)試。請(qǐng)測(cè)試應(yīng)用的所有流程,找出功能或用戶(hù)界面中暴露的問(wèn)題。請(qǐng)通過(guò)行為變更清單 (針對(duì)所有應(yīng)用) 來(lái)確定測(cè)試重點(diǎn):
https://developer.android.google.cn/about/versions/14/behavior-changes-all
隨著 Android 每個(gè)版本的發(fā)布,我們都會(huì)對(duì)平臺(tái)進(jìn)行整體的改進(jìn),以強(qiáng)化隱私和安全,并優(yōu)化整個(gè)操作系統(tǒng)的用戶(hù)體驗(yàn),這些都可能會(huì)影響到您的應(yīng)用。以下是一些需要重點(diǎn)測(cè)試的變更:
-
授予對(duì)照片和視頻的部分訪(fǎng)問(wèn)權(quán)限- 在 Android 14 中,當(dāng)應(yīng)用請(qǐng)求 Android 13 (API 級(jí)別 33) 中引入的任何視覺(jué)媒體權(quán)限 (READ_MEDIA_IMAGES 或 READ_MEDIA_VIDEO) 時(shí),用戶(hù)可以授予對(duì)其照片和視頻的部分訪(fǎng)問(wèn)權(quán)限。如果您的應(yīng)用已經(jīng)在使用照片選擇器,則無(wú)需額外操作即可適配此項(xiàng)變更,否則請(qǐng)使用新的READ_MEDIA_VISUAL_USER_SELECTED權(quán)限來(lái)優(yōu)化這部分的用戶(hù)體驗(yàn)。請(qǐng)?jiān)L問(wèn)官方文檔了解詳細(xì)信息:
https://developer.android.google.cn/about/versions/14/behavior-changes-all#partial-photo-video-access
-
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/training/data-storage/shared/photopicker
-
READ_MEDIA_VISUAL_USER_SELECTED
https://developer.android.google.cn/reference/android/Manifest.permission#READ_MEDIA_VISUAL_USER_SELECTED
-
選擇合適的存儲(chǔ)體驗(yàn)
https://android-developers.googleblog.com/2023/08/choosing-right-storage-experience.html
-
安全的全屏 Intent 通知- 從 Android 14 開(kāi)始,能使用全屏 Intent 通知的應(yīng)用將僅限于提供通話(huà)和鬧鐘的應(yīng)用。對(duì)于不適合此情況的任何應(yīng)用,Google Play 商店會(huì)撤消其默認(rèn)的USE_FULL_SCREEN_INTENT權(quán)限。訪(fǎng)問(wèn)官方文檔了解詳細(xì)信息:
https://developer.android.google.cn/about/versions/14/behavior-changes-all#secure-fsi
-
USE_FULL_SCREEN_INTENT
https://developer.android.google.cn/reference/android/Manifest.permission#USE_FULL_SCREEN_INTENT
-
默認(rèn)拒絕設(shè)定精確的鬧鐘- 從 Android 14 開(kāi)始,系統(tǒng)不再向以 Android 13 及更高版本為目標(biāo)平臺(tái)的大多數(shù)新安裝應(yīng)用預(yù)先授予SCHEDULE_EXACT_ALARM權(quán)限,該權(quán)限默認(rèn)處于拒絕狀態(tài)。請(qǐng)?jiān)诎才啪_鬧鐘前檢查權(quán)限,并考慮采用無(wú)需該權(quán)限的精確鬧鐘替代方案。請(qǐng)?jiān)L問(wèn)官方文檔了解詳細(xì)信息:
https://developer.android.google.cn/about/versions/14/behavior-changes-all#schedule-exact-alarms
- SCHEDULE_EXACT_ALARMhttps://developer.android.google.cn/reference/android/Manifest.permission#SCHEDULE_EXACT_ALARM
- 精確鬧鐘替代方案https://developer.android.google.cn/about/versions/14/changes/schedule-exact-alarms?hl=zh-cn#use-cases
-
非線(xiàn)性字體放大至 200%- 從 Android 14 開(kāi)始,系統(tǒng)支持字體放大至 200%,為弱視用戶(hù)進(jìn)一步提供符合網(wǎng)絡(luò)內(nèi)容無(wú)障礙指南(WCAG) 的無(wú)障礙功能選項(xiàng)。請(qǐng)?jiān)L問(wèn)官方文檔了解詳細(xì)信息:
https://developer.android.google.cn/about/versions/14/behavior-changes-all#non-linear-font-scaling
-
網(wǎng)絡(luò)內(nèi)容無(wú)障礙指南
https://www.w3.org/TR/UNDERSTANDING-WCAG20/visual-audio-contrast-scale.html
請(qǐng)?jiān)诩嫒菪詼y(cè)試中對(duì)應(yīng)用里使用到的開(kāi)發(fā)庫(kù)和 SDK 一并進(jìn)行測(cè)試。您可能會(huì)需要更新 SDK 到最新版本,或?qū)で笃溟_(kāi)發(fā)者的幫助。
一旦您發(fā)布了當(dāng)前應(yīng)用的兼容版本,就可以開(kāi)始更新應(yīng)用的targetSdkVersion。請(qǐng)查閱行為變更清單 (針對(duì)以 Android 14 為目標(biāo)平臺(tái)的應(yīng)用)并使用兼容性框架工具來(lái)快速檢測(cè)問(wèn)題。
-
設(shè)置 SDK
https://developer.android.google.cn/preview/migration#setup_sdk
-
符合 Google Play 的目標(biāo) API 級(jí)別要求
https://developer.android.google.cn/distribute/best-practices/develop/target-sdk
-
行為變更: 以 Android 14 或更高版本為目標(biāo)平臺(tái)的應(yīng)用
https://developer.android.google.cn/about/versions/14/behavior-changes-14
-
兼容性框架工具
https://developer.android.google.cn/preview/test-changes
即刻體驗(yàn) Android 14
如果您的 Pixel 設(shè)備沒(méi)有參加 Android Beta 版測(cè)試計(jì)劃,則會(huì)通過(guò) OTA 方式獲得正式版本的 Android 更新 (可能需要等待一周或更長(zhǎng)的時(shí)間,因?yàn)檫@是一個(gè)分階段發(fā)布的過(guò)程,具體取決于設(shè)備類(lèi)型和運(yùn)營(yíng)商)。如果您已經(jīng)參加了 Android 14 Beta 測(cè)試計(jì)劃,則可能已經(jīng)獲得了 Android 14 的下一個(gè) Beta 版本 (Android 14 QPR1 Beta)。 適用于 Pixel 設(shè)備的系統(tǒng)映像已經(jīng)發(fā)布,您可以下載并刷入設(shè)備。您也可以通過(guò)Android Studio 的 SDK 管理器獲得最新的 64 位 Android 模擬器系統(tǒng)映像。如果您需要 Android 14 的源代碼,可以在Android 開(kāi)源項(xiàng)目(AOSP) repo 里的 Android 14 分支里獲取。
-
系統(tǒng)映像
https://developers.google.cn/android/images
-
安裝 SDK
https://developer.android.google.cn/about/versions/14/setup-sdk#install-sdk
-
Android 開(kāi)源項(xiàng)目
https://source.android.google.cn/
-
Android 源代碼
https://android.googlesource.com/?format=HTML
為了獲得最佳的 Android 14 開(kāi)發(fā)體驗(yàn),我們建議您使用Android Studio Hedgehog的最新版本:
https://developer.android.google.cn/studio/preview設(shè)置好 SDK后,您可以:
-
體驗(yàn)新功能和 API-歡迎大家繼續(xù)在我們的跟蹤頁(yè)報(bào)告問(wèn)題。
-
測(cè)試應(yīng)用的兼容性- 測(cè)試您的應(yīng)用是否受到 Android 14 默認(rèn)行為變更的影響。請(qǐng)將應(yīng)用安裝到運(yùn)行 Android 14 的設(shè)備或模擬器上進(jìn)行徹底的測(cè)試。
-
使用可選變更項(xiàng)測(cè)試應(yīng)用- Android 14 提供了可選的行為變更,這些變更僅在您的應(yīng)用以新平臺(tái)為目標(biāo)時(shí)才會(huì)造成影響。盡早了解和評(píng)估這些變更十分重要。為了便于測(cè)試,您可以單獨(dú)啟用或者禁用這些變更:
https://developer.android.google.cn/about/versions/14/reference/compat-framework-changes - 使用 Android SDK 升級(jí)助理更新應(yīng)用- Android Studio Hedgehog 現(xiàn)在可以篩選和識(shí)別與您的應(yīng)用有關(guān)的特定 Android 14 API 變更,并通過(guò)Android SDK 升級(jí)助理逐步引導(dǎo)您升級(jí) targetSdkVersion:https://developer.android.google.cn/build/sdk-upgrade-assistant
- 設(shè)置 Android 14 SDKhttps://developer.android.google.cn/about/versions/14/setup-sdk
https://developer.android.google.cn/about/versions/14
* Java 和 OpenJDK 是 Oracle 和/或其附屬公司的商標(biāo)或注冊(cè)商標(biāo)。
開(kāi)發(fā)者福利月
在十月,開(kāi)啟專(zhuān)屬開(kāi)發(fā)者們的快樂(lè)!線(xiàn)下線(xiàn)上精彩互動(dòng)活動(dòng)、神秘禮品、干貨資料包統(tǒng)統(tǒng)安排上,讓驚喜和期待填滿(mǎn)整月。
趕快來(lái)了解詳情參與互動(dòng),收獲快樂(lè)和福利吧!
?點(diǎn)擊屏末|閱讀原文|進(jìn)一步了解 Android 14 詳細(xì)更新
原文標(biāo)題:最新版發(fā)布 | Android 14 現(xiàn)已正式發(fā)布至 AOSP!
文章出處:【微信公眾號(hào):谷歌開(kāi)發(fā)者】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
-
谷歌
+關(guān)注
關(guān)注
27文章
6168瀏覽量
105392
原文標(biāo)題:最新版發(fā)布 | Android 14 現(xiàn)已正式發(fā)布至 AOSP!
文章出處:【微信號(hào):Google_Developers,微信公眾號(hào):谷歌開(kāi)發(fā)者】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論