最新版發(fā)布证鸥!快扶我起來(lái)伙菊!Android 13 現(xiàn)已正式發(fā)布至 AOSP

作者 / Seang Chau, VP of Engineering

今天,Android 13 的源代碼推送至 Android 開源項(xiàng)目 (AOSP)敌土,并正式發(fā)布最新版本的 Android镜硕。對(duì)于開發(fā)者來(lái)說(shuō),Android 13 聚焦于核心主題返干,即隱私和安全兴枯,以及開發(fā)者生產(chǎn)力,幫助更輕松地為用戶構(gòu)建優(yōu)良的體驗(yàn)矩欠。并且還會(huì)繼續(xù)使 Android 成為更適合平板電腦和大屏幕設(shè)備的操作系統(tǒng)财剖,為你提供更好的工具,讓你得以充分利用世界各地正在廣泛使用的 2.7 億多臺(tái)此類設(shè)備癌淮。

  • Android 開源項(xiàng)目

https://source.android.google.cn/

  • 適用于大屏設(shè)備開發(fā)的響應(yīng)式布局

https://developer.android.google.cn/large-screens

Android 13 自即日起會(huì)推送至 Pixel 設(shè)備躺坟。今年晚些時(shí)候,Android 13 也會(huì)推送至其他你喜愛的設(shè)備乳蓄,包括三星 Galaxy咪橙、華碩、HMD (諾基亞手機(jī))虚倒、iQOO美侦、摩托羅拉、一加魂奥、OPPO菠剩、真我、夏普耻煤、索尼具壮、TECNO准颓、vivo、小米等棺妓。

一瞬场、Android 13 為開發(fā)者帶來(lái)了什么?

Android 13 帶來(lái)的更新內(nèi)容眾多涧郊,下文只是精選的一部分贯被。可以前往 Android 13 開發(fā)者網(wǎng)站了解所有新功能的詳細(xì)信息:

https://developer.android.google.cn/13

1.1 開發(fā)者生產(chǎn)力和工具

主題應(yīng)用圖標(biāo) - Android 13 將 Material You 的動(dòng)態(tài)顏色擴(kuò)展到了所有應(yīng)用圖標(biāo)妆艘,讓用戶可以基于其壁紙和其他主題偏好來(lái)選擇圖標(biāo)色調(diào)彤灶。你的應(yīng)用僅需提供一個(gè)單色的應(yīng)用圖標(biāo),并對(duì)自適應(yīng)圖標(biāo) XML 進(jìn)行一些調(diào)整即可批旺』仙拢可以訪問官方文檔了解詳細(xì)信息:

https://developer.android.google.cn/about/versions/13/features#themed-app-icons

△ 基于壁紙顏色和深色主題 (左) 改變色調(diào)的主題應(yīng)用圖標(biāo)
  • 圖標(biāo)規(guī)格

https://developer.android.google.cn/guide/practices/ui_guidelines/icon_design_adaptive#design-adaptive-icons

按應(yīng)用設(shè)定語(yǔ)言偏好 - Android 13 可以讓應(yīng)用使用不同于系統(tǒng)語(yǔ)言的其他語(yǔ)言,以更好地滿足多語(yǔ)言用戶的需求汽煮。Android 現(xiàn)在為應(yīng)用提供了一個(gè)標(biāo)準(zhǔn)的 "應(yīng)用語(yǔ)言" 設(shè)置面板 (如果應(yīng)用選擇支持此功能)搏熄,你還可以調(diào)用一個(gè)新的平臺(tái) API,在運(yùn)行時(shí)獲取或設(shè)置用戶的首選語(yǔ)言區(qū)域暇赤,從而減少模板代碼并提高兼容性心例。可以訪問官方文檔了解詳細(xì)信息:

https://developer.android.google.cn/guide/topics/resources/app-languages

△ 設(shè)置中的單個(gè)應(yīng)用語(yǔ)言選項(xiàng)
  • 使用 android:localeConfig 將受支持的語(yǔ)言添加到手機(jī)設(shè)置中

https://developer.android.google.cn/guide/topics/resources/app-languages#use-localeconfig

  • LocaleManager

https://developer.android.google.cn/reference/android/app/LocaleManager

改進(jìn)的文本支持 - Android 13 針對(duì)文本和語(yǔ)言提供了多項(xiàng)改進(jìn)鞋囊,幫助你打造更加完美的體驗(yàn)止后。更快的斷字將斷字性能優(yōu)化了多達(dá) 200%,因此現(xiàn)在可以在 TextView 中啟用此功能溜腐,這幾乎不影響渲染性能译株。通過(guò)使用文本轉(zhuǎn)換 API,能讓中文挺益、日文等需要使用拼音輸入的語(yǔ)言在執(zhí)行搜索和自動(dòng)完成等功能時(shí)的速度更快歉糜。Android 13 還改善了非拉丁文字 (如泰米爾語(yǔ)、緬甸語(yǔ)望众、泰盧固語(yǔ)和藏語(yǔ)等) 的行高匪补,讓字符免于被裁切且更加易于閱讀∈蜷荩可以訪問官方文檔了解詳細(xì)信息:

https://developer.android.google.cn/about/versions/13/features#language-support

△ 以 Android 13 為目標(biāo)平臺(tái)的應(yīng)用中的非拉丁文字行高改進(jìn)效果 (下)
  • 更快的斷字

https://developer.android.google.cn/about/versions/13/features#faster-hyphenation

  • 文本轉(zhuǎn)換 API

https://developer.android.google.cn/about/versions/13/features#text-conversion

  • 改進(jìn)了非拉丁字母的行高

https://developer.android.google.cn/about/versions/13/features#line-height

彩色矢量字體 - Android 13 增加了對(duì) COLR 版本 1 (可以參考詳細(xì)規(guī)格和介紹視頻) 字體的渲染支持叉袍,并將系統(tǒng)表情符號(hào)更新為 COLRv1 格式。COLRv1 是一種新的刽酱、高度緊湊的字體格式,在任何尺寸下都能快速清晰地渲染瞧捌。對(duì)于大多數(shù)應(yīng)用棵里,這項(xiàng)修改完全無(wú)法被感知到润文,系統(tǒng)會(huì)自動(dòng)處理好一切〉盍可以在 Chrome 發(fā)布公告中了解更多關(guān)于 COLRv1 的信息:

https://developer.chrome.com/blog/colrv1-fonts/

△ COLRv1 矢量表情符號(hào) (左) 和位圖表情符號(hào)
  • COLR 規(guī)格

https://docs.microsoft.com/en-us/typography/opentype/spec/colr

  • COLR 介紹視頻

https://www.youtube.com/watch?v=BmqYm5Wwz8M

快捷設(shè)置放置 API - 對(duì)于提供自定義快捷設(shè)置 (Quick Settings) 圖塊的應(yīng)用典蝌,Android 13 能讓用戶更容易發(fā)現(xiàn)和添加你的圖塊。借助新的圖塊放置 API头谜,你的應(yīng)用現(xiàn)在可以讓用戶通過(guò)對(duì)話框直接添加您的自定義快捷設(shè)置圖塊骏掀,而且只需一步即可完成操作,不需要離開你的應(yīng)用柱告〗赝裕可以訪問官方文檔了解詳細(xì)信息:

https://developer.android.google.cn/about/versions/13/features#quick-settings

  • TileService

https://developer.android.google.cn/reference/android/service/quicksettings/TileService

  • 圖塊放置 API

https://developer.android.google.cn/reference/android/app/StatusBarManager#requestAddTileService(android.content.ComponentName,%20java.lang.CharSequence,%20android.graphics.drawable.Icon,%20java.util.concurrent.Executor,%20java.util.function.Consumer%3Cjava.lang.Integer%3E)

可編程著色器 (shader) - Android 13 引入了可編程 RuntimeShader 對(duì)象,其行為使用 Android 圖形著色語(yǔ)言 (Android Graphics Shading Language, AGSL) 定義际度。你可以使用這些著色器在自己的應(yīng)用中實(shí)現(xiàn)波紋葵袭、模糊和過(guò)度滾動(dòng)拉伸,以及類似的高級(jí)效果乖菱∑挛可以訪問官方文檔了解詳細(xì)信息:

https://developer.android.google.cn/guide/topics/graphics/agsl

  • RuntimeShader

https://developer.android.google.cn/reference/android/graphics/RuntimeShader

  • Android 圖形著色語(yǔ)言

https://developer.android.google.cn/guide/topics/graphics/agsl

  • 波紋 (Ripple)

https://cs.android.com/android/platform/superproject/+/master:frameworks/base/graphics/java/android/graphics/drawable/RippleShader.java;l=24?q=RippleShader&sq=

  • 模糊 (Blur)

https://cs.android.com/android/platform/superproject/+/master:frameworks/native/libs/renderengine/skia/filters/BlurFilter.cpp?q=RuntimeShader&ss=android%2Fplatform%2Fsuperproject&start=21

  • 過(guò)度滾動(dòng)拉伸 (Stretch)

https://cs.android.com/android/platform/superproject/+/master:frameworks/base/tests/HwAccelerationTest/src/com/android/test/hwui/StretchShaderActivity.java?q=RuntimeShader&ss=android%2Fplatform%2Fsuperproject&start=11

基于 PlaybackState 的媒體控件 - 對(duì)于以 Android 13 為目標(biāo)平臺(tái)的應(yīng)用,系統(tǒng)基于 PlaybackState 操作清單實(shí)現(xiàn)了更豐富的媒體控件窒所,從而在手機(jī)和平板電腦等設(shè)備類型上獲得更佳的一致性鹉勒,并和 Android Auto 和 Android TV 等其他 Android 平臺(tái)保持一致〕橙。可以訪問官方文檔了解詳細(xì)信息:

https://developer.android.google.cn/about/versions/13/behavior-changes-13#playback-controls

△ Android 13 媒體控件在手機(jī)和平板電腦上保持一致
  • PlaybackState

https://developer.android.google.cn/reference/android/media/session/PlaybackState

藍(lán)牙低功耗 (LE) 音頻 - 低功耗 (Low Energy, LE) 音頻是用于實(shí)現(xiàn)新的用例的下一代無(wú)線音頻贸弥。用戶可以通過(guò)它與朋友和家人分享和廣播自己的音頻,或訂閱公共廣播以獲得信息海渊、娛樂或無(wú)障礙輔助信息绵疲。它旨在確保用戶能夠在不犧牲電池壽命的情況下接收高保真音頻,并在不同用例之間無(wú)縫切換臣疑。Android 13 增加了對(duì)低功耗音頻的內(nèi)置支持盔憨,開發(fā)者們可在兼容的設(shè)備上使用這項(xiàng)新功能⊙渡颍可以訪問官方文檔了解詳細(xì)信息:

https://developer.android.google.cn/reference/android/bluetooth/BluetoothLeAudio

  • 低功耗 (LE) 音頻

https://www.bluetooth.com/learn-about-bluetooth/recent-enhancements/le-audio/resources/

MIDI 2.0 - Android 13 增加了對(duì)新的 MIDI 2.0 標(biāo)準(zhǔn)的支持郁岩,包括通過(guò) USB 連接 MIDI 2.0 硬件的能力。這個(gè)更新的標(biāo)準(zhǔn)提供了一些新功能缺狠,如更高的控制器分辨率问慎,更好地支持非西方音調(diào),以及通過(guò)單一音符控制器提供更佳的表現(xiàn)力挤茄∪绲穑可以訪問官方文檔了解詳細(xì)信息:

https://developer.android.google.cn/reference/android/media/midi/MidiDeviceInfo#PROTOCOL_UMP_MIDI_2_0

  • 新的 MIDI 2.0 標(biāo)準(zhǔn)

https://www.midi.org/midi-articles/details-about-midi-2-0-midi-ci-profiles-and-property-exchange

OpenJDK 11 更新 - Android 13 核心庫(kù)已經(jīng)與 OpenJDK 11 LTS 版本保持一致,為應(yīng)用和平臺(tái)開發(fā)者提供庫(kù)更新和 Java 11 編程語(yǔ)言支持穷劈。作為對(duì) Android 12 及以上設(shè)備的 ART 模塊更新的一部分笼恰,計(jì)劃通過(guò) Google Play 系統(tǒng)更新將這些核心庫(kù)的變更發(fā)布至更多設(shè)備踊沸。可以訪問官方文檔了解詳細(xì)信息:

https://developer.android.google.cn/about/versions/13/features#core-libraries

預(yù)測(cè)性返回手勢(shì) - Android 13 引入了新的 API社证,可讓你的應(yīng)用告訴系統(tǒng)它將提前處理返回事件逼龟,稱之為 "提前" 模型。這個(gè)新方案會(huì)需要若干年來(lái)完善追葡,以幫助你的應(yīng)用程序支持預(yù)測(cè)性返回手勢(shì)腺律,該功能現(xiàn)在可通過(guò)開發(fā)者選項(xiàng)在當(dāng)前版本中進(jìn)行測(cè)試∫巳猓可以訪問官方文檔了解詳細(xì)信息:

https://developer.android.google.cn/guide/navigation/predictive-back-gesture

  • 讓系統(tǒng)返回操作回歸本源

https://io.google/2022/program/5c6a8dbb-7ac2-4c31-a707-0a16e8424970/

1.2 為平板電腦而生

Android 13 進(jìn)一步拓展了今年早些時(shí)候發(fā)布的 Android 12L 功能更新匀钧,在平板電腦上提供了更好的體驗(yàn)。強(qiáng)化了一些功能崖飘,包括針對(duì)多任務(wù)操作改進(jìn)過(guò)的任務(wù)欄榴捡,更多針對(duì)大屏幕的布局,以及針對(duì)系統(tǒng)界面和應(yīng)用進(jìn)行了許多優(yōu)化朱浴,應(yīng)用兼容模式也得到了改進(jìn)吊圾,等等。將繼續(xù)投入資源為你打造工具翰蠢,幫助你為平板電腦项乒、Chromebook 和可折疊設(shè)備構(gòu)建優(yōu)良的體驗(yàn)。你可以通過(guò)大屏幕使用入門開始上手梁沧,也請(qǐng)務(wù)必瀏覽準(zhǔn)備的大屏幕開發(fā)者資源檀何。

  • 大屏幕使用入門

https://developer.android.google.cn/guide/topics/large-screens/get-started-with-large-screens

  • 適用于大屏幕設(shè)備開發(fā)的響應(yīng)式布局

https://developer.android.google.cn/large-screens

1.3 隱私和安全

照片選擇器和 API - 全新的系統(tǒng)照片選擇器為用戶分享本地和云端照片提供了標(biāo)準(zhǔn)且私密的方式。照片選擇器針對(duì) Android 上長(zhǎng)期使用的文檔選擇器進(jìn)行了擴(kuò)展廷支,使用戶可以很容易地與應(yīng)用分享特定的照片和視頻频鉴,而無(wú)需授權(quán)應(yīng)用查看設(shè)備上的所有媒體文件。照片選擇器為照片和視頻提供了專門的體驗(yàn)恋拍,并提供了供應(yīng)用訪問共享媒體文件的 API垛孔。Android 11 及以上系統(tǒng)設(shè)備 (Go 設(shè)備除外) 的用戶會(huì)通過(guò) Google Play 系統(tǒng)更新獲得照片選擇器功能∈└遥可以訪問官方文檔了解詳細(xì)信息:

https://developer.android.google.cn/training/data-storage/shared/photopicker

通知權(quán)限 - 為了幫助用戶專注于對(duì)他們最重要的通知周荐,Android 13 引入了一個(gè)新的通知運(yùn)行時(shí)權(quán)限。現(xiàn)在應(yīng)用需要在發(fā)送通知之前向用戶申請(qǐng)通知權(quán)限僵娃。對(duì)于以 Android 12 或更低版本為目標(biāo)平臺(tái)的應(yīng)用概作,系統(tǒng)將代你處理升級(jí)流程∧梗可以訪問官方文檔了解詳細(xì)信息:

https://developer.android.google.cn/guide/topics/ui/notifiers/notification-permission

△ Android 13 中的通知權(quán)限對(duì)話框
  • POST_NOTIFICATIONS

https://developer.android.google.cn/reference/android/Manifest.permission#POST_NOTIFICATIONS

針對(duì)附近 Wi-Fi 設(shè)備的權(quán)限 - Android 13 為管理設(shè)備與周圍 Wi-Fi 熱點(diǎn)連接的應(yīng)用引入了新的 NEARBY_WIFI_DEVICES 運(yùn)行時(shí)權(quán)限讯榕。許多常用的 Wi-Fi API 都需要這個(gè)新權(quán)限,從而讓應(yīng)用在不需要獲得定位權(quán)限的情況下即可通過(guò) Wi-Fi 發(fā)現(xiàn)并連接到附近的設(shè)備先壕〈穸螅可以訪問官方文檔了解詳細(xì)信息:

https://developer.android.google.cn/guide/topics/connectivity/wifi-permissions

  • NEARBY_WIFI_DEVICES

https://developer.android.google.cn/reference/android/Manifest.permission.html#NEARBY_WIFI_DEVICES

細(xì)化的媒體權(quán)限 - 在分享照片和視頻時(shí)谆甜,照片選擇器現(xiàn)在是我們推薦的解決方案垃僚,它更加用戶友好褒傅,且無(wú)需請(qǐng)求權(quán)限驹闰。但對(duì)于尚未使用照片選擇器的應(yīng)用,或者需要訪問音頻文件的場(chǎng)景,Android 13 也增加了新的更細(xì)化的媒體權(quán)限朝卒。這些媒體權(quán)限用以取代 READ_EXTERNAL_STORAGE 權(quán)限,讓應(yīng)用得以訪問特定的媒體文件類型罢绽,包括圖片痴施、視頻和音頻。強(qiáng)烈建議你在條件允許時(shí)使用照片選擇器方案朵夏,當(dāng)應(yīng)用以 Android 13 為目標(biāo)平臺(tái)且不適合使用該方案時(shí)蔼啦,則推薦使用細(xì)化的媒體權(quán)限⊙霾可以訪問官方文檔了解詳細(xì)信息:

https://developer.android.google.cn/about/versions/13/behavior-changes-13#granular-media-permissions

△ 請(qǐng)求允許訪問音頻文件
  • 照片選擇器

https://developer.android.google.cn/training/data-storage/shared/photopicker

  • READ_EXTERNAL_STORAGE

https://developer.android.google.cn/reference/android/Manifest.permission.html#READ_EXTERNAL_STORAGE

開發(fā)者可降級(jí)權(quán)限 - 從 Android 13 開始捏肢,如果應(yīng)用不再需要某些之前由用戶授予過(guò)的權(quán)限,可以通過(guò)新的 API 來(lái)降級(jí)權(quán)限饥侵。通過(guò)移除不再使用的權(quán)限鸵赫,你的應(yīng)用可以向用戶表明其只使用了必需的最少權(quán)限,從而提高用戶信任度躏升”绨簦可以訪問官方文檔了解詳細(xì)信息:

https://developer.android.google.cn/about/versions/13/features#developer-downgradable-permissions

  • revokeOwnPermissionsOnKill

https://developer.android.google.cn/reference/android/content/Context.html#revokeOwnPermissionsOnKill(java.util.Collection%3Cjava.lang.String%3E)

更安全的導(dǎo)出 Intent 過(guò)濾器 - 在向以 Android 13 為目標(biāo)平臺(tái)的其他應(yīng)用的導(dǎo)出 intent 過(guò)濾器發(fā)送顯式 intent 時(shí),Android 13 給出了更嚴(yán)格的規(guī)則膨疏。如果 intent 指定了動(dòng)作一睁,則系統(tǒng)只在該 intent 與接收應(yīng)用中聲明的 <intent-filter> 元素匹配時(shí)才會(huì)向?qū)С鼋M件傳遞 intent〉枞矗可以訪問官方文檔了解詳細(xì)信息:

https://developer.android.google.cn/about/versions/13/behavior-changes-13#intent-filters

1.4 應(yīng)用性能

Android 13 通過(guò)對(duì) ART 運(yùn)行時(shí)的更新者吁,提高了所有應(yīng)用的性能和效率。官方正在為 Android 12 及以上設(shè)備更新 ART 模塊双霍,作為此項(xiàng)更新的一環(huán)砚偶,也會(huì)通過(guò) Google Play 系統(tǒng)更新將這些性能改進(jìn)帶給更多的 Android 用戶。

垃圾回收改進(jìn) - 一個(gè)基于 Linux 內(nèi)核功能 userfaultfd 的新垃圾回收器會(huì)隨著即將到來(lái)的 Google Play 系統(tǒng)更新加入 Android 13 設(shè)備的 ART洒闸。新的垃圾回收器消除了讀取障礙染坯,降低了每個(gè)對(duì)象加載的開銷,減少了內(nèi)存壓力丘逸,使得編譯后的代碼體積能減少約 10%单鹿。它在 GC 時(shí)間也更高效,因?yàn)榉猪?yè)會(huì)隨著壓縮的進(jìn)行而被釋放深纲≈俪總而言之劲妙,新的垃圾回收器有助于節(jié)省電量,避免在 GC 過(guò)程中出現(xiàn)卡頓儒喊,以及讓應(yīng)用免于在低內(nèi)存時(shí)被強(qiáng)行終止镣奋。

遍及整個(gè) ART 的優(yōu)化 - 在 Android 13 中,ART 讓切換到本地代碼的速度更快怀愧,反之亦然侨颈,現(xiàn)在 JNI 調(diào)用的速度可達(dá)之前的 2.5 倍。還重新設(shè)計(jì)了運(yùn)行時(shí)的引用處理芯义,使其基本處于非阻塞狀態(tài)哈垢,這進(jìn)一步減少了卡頓。公開了一個(gè)新的公共 API扛拨,Reference.refersTo()耘分,讓你可以盡快回收無(wú)法抵達(dá)的對(duì)象,還優(yōu)化了類/方法的查找绑警,從而讓解釋器的運(yùn)行更快求泰。最后,ART 現(xiàn)在在安裝時(shí)會(huì)執(zhí)行更多的字節(jié)碼驗(yàn)證待秃,避免了在運(yùn)行時(shí)驗(yàn)證的損耗拜秧,從而讓應(yīng)用能快速啟動(dòng)≌掠簦可以觀看應(yīng)用性能更新介紹了解詳細(xì)信息:

https://io.google/2022/program/2cf473b7-113e-4332-a469-8dfd815eb45b/

  • Reference.refersTo()

https://developer.android.google.cn/reference/java/lang/ref/Reference.html#refersTo(T)

二枉氮、讓你的應(yīng)用做好準(zhǔn)備!

隨著今天 Android 13 正式發(fā)布至 AOSP暖庄,官方要求所有的 Android 開發(fā)者完成兼容性測(cè)試聊替,并盡快發(fā)布更新,從而讓你的用戶能順利過(guò)渡至 Android 13培廓。

只需在運(yùn)行 Android 13 的設(shè)備上安裝您的應(yīng)用惹悄,即可開始測(cè)試其兼容性。測(cè)試應(yīng)用的所有流程肩钠,找出功能或用戶界面中暴露的問題泣港。通過(guò) Android 13 行為變更清單 (針對(duì)所有應(yīng)用) 來(lái)確定可能會(huì)影響到應(yīng)用的變更:

https://developer.android.google.cn/about/versions/13/behavior-changes-all

  • 獲取 Android 13

https://developer.android.google.cn/about/versions/13/get

這里列出一些需要注意的變更:

  • 通知的運(yùn)行時(shí)權(quán)限 - 務(wù)必了解新的權(quán)限在你的應(yīng)用發(fā)送通知時(shí)的工作機(jī)制,并盡快開始規(guī)劃針對(duì) Android 13 (API 33) 的相關(guān)工作价匠,以讓用戶獲得良好的體驗(yàn)当纱。可以訪問官方文檔了解更多:

https://developer.android.google.cn/about/versions/13/changes/notification-permission

  • 剪貼板預(yù)覽 - 請(qǐng)確保你的應(yīng)用在 Android 13 全新的剪貼板預(yù)覽中隱藏敏感數(shù)據(jù)踩窖,比如密碼或信用卡信息坡氯。可以訪問官方文檔了解更多:

https://developer.android.google.cn/about/versions/13/behavior-changes-all#copy-sensitive-content

  • JobScheduler 預(yù)提取 - JobScheduler 現(xiàn)在會(huì)預(yù)測(cè)你下次啟動(dòng)應(yīng)用的時(shí)機(jī),并提前運(yùn)行關(guān)聯(lián)的預(yù)提取作業(yè)箫柳。如果你有使用預(yù)提取作業(yè)手形,請(qǐng)通過(guò)測(cè)試確保它們工作正常∶趸校可以訪問官方文檔了解更多:

https://developer.android.google.cn/about/versions/13/behavior-changes-all#prefetch-job-handling

  • JobScheduler

https://developer.android.google.cn/reference/android/app/job/JobScheduler

別忘了測(cè)試應(yīng)用中的開發(fā)庫(kù)和 SDK 的兼容性库糠。如果你在測(cè)試中發(fā)現(xiàn) SDK 存在問題,請(qǐng)嘗試更新 SDK 到最新版本坪稽,或向其開發(fā)者尋求幫助曼玩。

一旦你發(fā)布了當(dāng)前應(yīng)用的兼容版本鳞骤,就可以開始更新應(yīng)用的 targetSdkVersion窒百。可以查閱行為變更清單 (針對(duì)面向 Android 13 的應(yīng)用)豫尽,并使用兼容性框架工具來(lái)快速檢測(cè)問題篙梢。

  • 開始更新: 更新應(yīng)用的目標(biāo)平臺(tái)并使用新 API 進(jìn)行構(gòu)建

https://developer.android.google.cn/preview/migration#setup_sdk

  • targetSdkVersion: 符合 Google Play 的目標(biāo) API 級(jí)別要求

https://developer.android.google.cn/distribute/best-practices/develop/target-sdk

  • 行為變更清單: 以 Android 13 或更高版本為目標(biāo)平臺(tái)的應(yīng)用

https://developer.android.google.cn/about/versions/13/behavior-changes-13

  • 兼容性框架工具

https://developer.android.google.cn/guide/app-compatibility/test-debug

2.1 對(duì)平板電腦和大屏幕設(shè)備的支持

Android 13 為平板電腦帶來(lái)了更好的體驗(yàn),請(qǐng)確保你的應(yīng)用能活用這項(xiàng)優(yōu)勢(shì)美旧。你可以通過(guò)在 Android Studio 中設(shè)置 Android 模擬器來(lái)測(cè)試大屏幕設(shè)備相關(guān)的功能渤滞,或者在官方的 Android 13 Beta 合作伙伴的大屏幕設(shè)備上進(jìn)行測(cè)試。

  • 設(shè)置 Android 模擬器

https://developer.android.google.cn/about/versions/13/get#on_emulator

  • Android 13 Beta 支持設(shè)備

https://developer.android.google.cn/about/versions/13/features/large-screens#large-screen-partners

以下是一些測(cè)試時(shí)的注意點(diǎn):

  • 任務(wù)欄交互 - 請(qǐng)檢查你的應(yīng)用在大屏幕上配合新任務(wù)欄時(shí)的交互情況榴嗅,確保應(yīng)用的界面沒有被任務(wù)欄裁切或遮擋妄呕。可以訪問官方文檔了解更多:

https://developer.android.google.cn/about/versions/13/features/large-screens#multitasking

  • 多窗口模式 - 無(wú)論應(yīng)用配置如何嗽测,所有的應(yīng)用現(xiàn)在默認(rèn)啟用多窗口模式绪励,所以請(qǐng)確保應(yīng)用妥善處理分屏顯示。你可以通過(guò)拖放將您的應(yīng)用切換至分屏模式唠粥,并調(diào)整窗口大小來(lái)進(jìn)行測(cè)試疏魏。可以訪問官方文檔了解更多:

https://developer.android.google.cn/about/versions/13/features/large-screens#dev-test-splitscreen

  • 改進(jìn)的兼容性體驗(yàn) - 如果你的應(yīng)用尚未針對(duì)平板電腦進(jìn)行優(yōu)化晤愧,比如使用固定的朝向大莫、不支持縮放等,請(qǐng)檢查你的應(yīng)用在兼容模式下的表現(xiàn) (如信箱模式)官份≈焕澹可以訪問官方文檔了解更多:

https://developer.android.google.cn/about/versions/13/features/large-screens#compatibility

  • 媒體投影 - 如果你的應(yīng)用使用了媒體投影功能,請(qǐng)檢查你的應(yīng)用在媒體播放舅巷、串流羔味,以及在大屏幕設(shè)備上投影時(shí)的情況。別忘了針對(duì)可折疊設(shè)備的狀態(tài)切換進(jìn)行適配悄谐〗槠溃可以訪問官方文檔了解更多:

https://developer.android.google.cn/about/versions/13/features/large-screens#media-projection

  • 相機(jī)預(yù)覽 - 針對(duì)相機(jī)應(yīng)用,請(qǐng)檢查相機(jī)預(yù)覽界面在大屏幕設(shè)備的多窗口模式或分屏模式中,應(yīng)用被限制在屏幕的局部區(qū)域時(shí)的表現(xiàn)们陆。同樣也別忘了針對(duì)可折疊設(shè)備的狀態(tài)切換進(jìn)行適配寒瓦。可以訪問官方文檔了解更多:

https://developer.android.google.cn/training/camera2/camera-preview

可以前往官方網(wǎng)站了解更多 Android 13 平板電腦特性以及測(cè)試要點(diǎn):

https://developer.android.google.cn/about/versions/13/features/large-screens

三坪仇、下一步

Android 13 自即日起會(huì)推送至 Pixel 設(shè)備杂腰。

如果你已經(jīng)參加了 Android Beta 版測(cè)試,你將會(huì)自動(dòng)獲得 Android 13 的正式版椅文,并會(huì)在后續(xù)的 Android 13 功能更新 (今年晚些發(fā)布) 中繼續(xù)獲得這些功能的 Beta 版更新喂很。如果你不想繼續(xù)接收 Beta 版更新且不希望刷寫自己的設(shè)備,請(qǐng)?jiān)讷@取完 Android 13 正式版后皆刺,并在 Android 13 的第一個(gè)功能更新 Beta 版發(fā)布之前在 Android Beta 測(cè)試站點(diǎn)退出測(cè)試即可:

https://www.google.com/android/beta

適用于 Pixel 設(shè)備的系統(tǒng)映像已經(jīng)發(fā)布少辣,你可以下載并刷入設(shè)備。也可以通過(guò) Android Studio 的 SDK 管理器獲得最新的 Android 模擬器系統(tǒng)映像羡蛾。如果需要 Android 13 的源代碼漓帅,可以在 Android 開源項(xiàng)目 (AOSP) repo 里的 Android 13 分支里獲取。

  • Android 系統(tǒng)映像

https://developers.google.cn/android/images

  • Android 開源項(xiàng)目

https://source.android.google.cn/

  • Android 源代碼

https://android.googlesource.com/?format=HTML

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末痴怨,一起剝皮案震驚了整個(gè)濱河市忙干,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌浪藻,老刑警劉巖捐迫,帶你破解...
    沈念sama閱讀 207,113評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異爱葵,居然都是意外死亡施戴,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,644評(píng)論 2 381
  • 文/潘曉璐 我一進(jìn)店門钧惧,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)暇韧,“玉大人,你說(shuō)我怎么就攤上這事浓瞪⌒覆#” “怎么了?”我有些...
    開封第一講書人閱讀 153,340評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵乾颁,是天一觀的道長(zhǎng)涂乌。 經(jīng)常有香客問我,道長(zhǎng)英岭,這世上最難降的妖魔是什么湾盒? 我笑而不...
    開封第一講書人閱讀 55,449評(píng)論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮诅妹,結(jié)果婚禮上罚勾,老公的妹妹穿的比我還像新娘毅人。我一直安慰自己,他們只是感情好尖殃,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,445評(píng)論 5 374
  • 文/花漫 我一把揭開白布丈莺。 她就那樣靜靜地躺著,像睡著了一般送丰。 火紅的嫁衣襯著肌膚如雪缔俄。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,166評(píng)論 1 284
  • 那天器躏,我揣著相機(jī)與錄音俐载,去河邊找鬼。 笑死登失,一個(gè)胖子當(dāng)著我的面吹牛遏佣,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播壁畸,決...
    沈念sama閱讀 38,442評(píng)論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼贼急,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了捏萍?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,105評(píng)論 0 261
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤空闲,失蹤者是張志新(化名)和其女友劉穎令杈,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體碴倾,經(jīng)...
    沈念sama閱讀 43,601評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡逗噩,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,066評(píng)論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了跌榔。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片异雁。...
    茶點(diǎn)故事閱讀 38,161評(píng)論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖僧须,靈堂內(nèi)的尸體忽然破棺而出纲刀,到底是詐尸還是另有隱情,我是刑警寧澤担平,帶...
    沈念sama閱讀 33,792評(píng)論 4 323
  • 正文 年R本政府宣布示绊,位于F島的核電站,受9級(jí)特大地震影響暂论,放射性物質(zhì)發(fā)生泄漏面褐。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,351評(píng)論 3 307
  • 文/蒙蒙 一取胎、第九天 我趴在偏房一處隱蔽的房頂上張望展哭。 院中可真熱鬧,春花似錦、人聲如沸匪傍。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,352評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)析恢。三九已至墨坚,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間映挂,已是汗流浹背泽篮。 一陣腳步聲響...
    開封第一講書人閱讀 31,584評(píng)論 1 261
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留柑船,地道東北人帽撑。 一個(gè)月前我還...
    沈念sama閱讀 45,618評(píng)論 2 355
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像鞍时,于是被迫代替她去往敵國(guó)和親亏拉。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,916評(píng)論 2 344

推薦閱讀更多精彩內(nèi)容