作者 / Dave Burke, VP of Engineering
讓 Android 在數(shù)十億用戶的手中良好運行,是我們、Android 設(shè)備制造商,以及開發(fā)者社區(qū)的一致追求。
-
Android 14 開發(fā)者網(wǎng)站
https://developer.android.google.cn/about/versions/14
跨設(shè)備以及多尺寸屏幕的支持
Android 14 在 Android 12L 和 13 的基礎(chǔ)上,繼續(xù)對平板電腦和可折疊設(shè)備帶來良好的支持。為了幫助您構(gòu)建適配各種屏幕尺寸的應用,我們在 Jetpack Compose 中提供了窗口大小類別、滑動窗格布局 (SlidingPaneLayout)、Activity 嵌入,以及使用約束布局的 Box (BoxWithConstraints) 等內(nèi)容。隨著每一次平臺更新,我們都會幫助您更輕松地在所有 Android 支持的屏幕上優(yōu)化自己的應用。
- 窗口大小類別https://developer.android.google.cn/guide/topics/large-screens/support-different-screen-sizes#window_size_classes
- 滑動窗格布局https://developer.android.google.cn/guide/topics/large-screens/support-different-screen-sizes#SlidingPaneLayout
- Activity 嵌入https://developer.android.google.cn/guide/topics/large-screens/activity-embedding
- 使用約束布局的 Boxhttps://developer.android.google.cn/reference/kotlin/androidx/compose/foundation/layout/package-summary#BoxWithConstraints(androidx.compose.ui.Modifier,androidx.compose.ui.Alignment,kotlin.Boolean,kotlin.Function1)
-
大屏幕設(shè)備應用質(zhì)量指南
https://developer.android.google.cn/docs/quality-guidelines/tablet-app-quality
-
大屏幕使用入門
https://developer.android.google.cn/guide/topics/large-screens/get-started-with-large-screens
-
為可折疊設(shè)備構(gòu)建應用
https://developer.android.google.cn/guide/topics/ui/foldables
-
通過大屏設(shè)備擴展用戶體驗
https://developer.android.google.cn/large-screens/gallery
-
多類別應用的設(shè)計參考
https://developer.android.google.cn/large-screens/gallery/social
https://developer.android.google.cn/large-screens/gallery/media
https://developer.android.google.cn/large-screens/gallery/productivity
https://developer.android.google.cn/large-screens/gallery/shopping
https://developer.android.google.cn/large-screens/gallery/reading
-
構(gòu)建多設(shè)備體驗
https://developer.android.google.cn/multi-device-development
-
跨設(shè)備 SDK
https://developer.android.google.cn/guide/topics/connectivity/cross-device-sdk/overview
精簡后臺工作
我們在 Android 14 中繼續(xù)優(yōu)化應用的協(xié)作方式,以改善系統(tǒng)健康狀況和電池壽命,并提升終端用戶體驗。
針對 JobScheduler 和前臺服務的更新和補充
有些后臺工作,比如僅使用 Wi-Fi 下載大型文件,其復雜度很高,這顯然是不必要的。我們正在為這些工作打造一個標準方案,以簡化您的應用開發(fā)工作,進而改善用戶體驗。我們也在規(guī)范前臺服務的使用,只為面向用戶的最高優(yōu)先級任務保留這些服務,以便改善 Android 的資源消耗和電池壽命。 Android 14 中對一些現(xiàn)有的 Android API(包括 Foreground Services 和 JobScheduler) 進行了變更,加入了支持用戶發(fā)起的數(shù)據(jù)傳輸的新功能。我們還更新了聲明前臺服務類型的要求。用戶發(fā)起的數(shù)據(jù)傳輸作業(yè)將簡化用戶發(fā)起的下載和上傳的管理,特別是傳輸存在限制的時候,比如僅使用 Wi-Fi 進行下載。聲明前臺服務類型的要求可以讓開發(fā)者清楚地定義應用的后臺工作意圖,同時明確哪些使用場景適合前臺服務。此外,Google Play 將推出新政策,以確保開發(fā)者合理使用上述 API,后續(xù)我們會公布這方面的更多信息。
-
Foreground Services
https://developer.android.google.cn/guide/components/foreground-services
-
JobScheduler
https://developer.android.google.cn/reference/android/app/job/JobScheduler
-
用戶發(fā)起的數(shù)據(jù)傳輸
https://developer.android.google.cn/about/versions/14/changes/user-initiated-data-transfers
-
聲明前臺服務類型
https://developer.android.google.cn/about/versions/14/changes/fgs-types-required
廣播優(yōu)化
我們對內(nèi)部廣播系統(tǒng)進行了諸多優(yōu)化,以改善系統(tǒng)健康,加快反應速度。雖然大多數(shù)優(yōu)化措施限于 Android 內(nèi)部,不會影響到您的應用,但我們已經(jīng)調(diào)整了應用進入緩存狀態(tài)后接收上下文注冊的廣播的方式。所有發(fā)送給上下文注冊接收器的廣播都要排隊,只有在應用離開緩存狀態(tài)后才會被傳遞給應用。此外,一些重復的上下文注冊廣播,如 BATTERY_CHANGED,可能會被合并為一個最終廣播,并在應用離開緩存狀態(tài)時完成交付。
-
上下文注冊的接收器
https://developer.android.google.cn/guide/components/broadcasts#context-registered-receivers
-
緩存狀態(tài)
https://developer.android.google.cn/guide/components/activities/process-lifecycle
-
BATTERY_CHANGED
https://developer.android.google.cn/reference/android/content/Intent#ACTION_BATTERY_CHANGED
精確鬧鐘
調(diào)用精確鬧鐘會明顯消耗設(shè)備的資源,如電池壽命。因此在 Android 14 中,新安裝的以 Android 13+ (SDK 33+) 為目標平臺的應用,如果其并非時鐘或日歷應用,必須在設(shè)置精確鬧鐘之前要求用戶授予 SCHEDULE_EXACT_ALARM 特殊權(quán)限。應用可以通過 Intent 將用戶引導至設(shè)置頁面進行授權(quán)操作,但我們建議大家仔細評估應用使用場景,盡可能選擇更加靈活的鬧鐘替代方案。
-
精確鬧鐘
https://developer.android.google.cn/training/scheduling/alarms#exact
-
SCHEDULE_EXACT_ALARM
https://developer.android.google.cn/reference/android/Manifest.permission#SCHEDULE_EXACT_ALARM
-
請求特殊權(quán)限
https://developer.android.google.cn/training/permissions/requesting-special
-
引導至設(shè)置頁面
https://developer.android.google.cn/training/permissions/requesting-special#request
-
更加靈活的鬧鐘替代方案
https://developer.android.google.cn/training/scheduling/alarms#use-cases
-
USE_EXACT_ALARM
https://developer.android.google.cn/reference/android/Manifest.permission#USE_EXACT_ALARM
-
Play 政策: 使用精確鬧鐘權(quán)限的可接受用例
https://support.google.com/googleplay/android-developer/answer/12253906#exact_alarm_preview
定制化
我們將繼續(xù)保障 Android 用戶圍繞其個人需求的定制化體驗,為此我們進一步改進了無障礙和國際化功能。更大的字體與非線性縮放 從 Android 14 開始,用戶能夠把字體尺寸放大至 200%。此前,Pixel 設(shè)備上的字體最多能放大至 130%。 為了緩解文字過大帶來的問題,從 Android 14 開始,字體縮放曲線會是非線性的,且該縮放方案會直接啟用。這樣就可以確保已經(jīng)足夠大的文本的放大速度不會和較小的文本相同。
(右) 非線性放大至 200%
在 Android 14 中,開發(fā)者需要使用最大的字體尺寸來測試應用的界面。請前往無障礙 > 顯示大小和文字 (Accessibility > Display size and text) 頁面設(shè)置字體大小。請確保調(diào)整后的大字體設(shè)置能被反映在界面中,并且不會出現(xiàn)文字截斷等問題。我們的文檔提供了這方面的最佳實踐供大家參考:http://developer.android.google.cn/about/versions/14/features#non-linear-font-scaling
按應用設(shè)定語言偏好 現(xiàn)在可以通過 LocaleManager.setOverrideLocaleConfig 動態(tài)更新應用的 localeConfig,以定制 Android 設(shè)置頁面中每個應用各自的語言列表中顯示的語言清單。這樣您就可以為每個地區(qū)定制語言列表,進行 A/B 實驗,如果應用使用服務器端推送本地化設(shè)置,則可以直接為應用更新語言地區(qū)設(shè)置。
-
LocaleManager.setOverrideLocaleConfig
https://developer.android.google.cn/reference/android/app/LocaleManager?hl=en#setOverrideLocaleConfig(android.app.LocaleConfig)
IME 現(xiàn)在可以使用 LocaleManager.getApplicationLocales 來獲取當前應用的界面語言,從而同步更新鍵盤語言。
-
LocaleManager.getApplicationLocales
https://developer.android.google.cn/reference/android/app/LocaleManager#getApplicationLocales()
詞形變化 API 詞形變化 (Grammatical Infection) API 可以讓開發(fā)者更輕松地為需要使用語法性別的用戶提供支持:https://developer.android.google.cn/about/versions/14/features#grammatical-inflection例如:
- 陽性: "Vous êtes abonné à..."
- 陰性: "Vous êtes abonnée à…"
- 中性: "Abonnement à…activé"
語法性別是某些語言中特有的語法現(xiàn)象,而且在一些非英語語言中很難規(guī)避。這個新 API 可以讓開發(fā)者更容易針對使用者性別 (這里指的是正在瀏覽界面的人,而不是正在被提及的人) 展示內(nèi)容。而如果在 ICU 中使用 SelectFormat,就只能基于每個字符串單獨進行設(shè)置了。 開發(fā)者只需為相應的語言添加性別變位譯文,并使用這個 API,即可為不同用戶展示定制化的譯文。
隱私和安全
運行時接收器 以 Android 14 為目標平臺的應用必須說明動態(tài) Context.registerReceiver() 的使用是否應被視為 "導出" 或 "未導出"。這是以前版本中清單級工作的延續(xù),請訪問官方文檔了解詳細信息: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)
更加安全的動態(tài)代碼加載
動態(tài)代碼加載 (Dynamic code loading, DCL) 為惡意軟件和漏洞提供了可能,因為動態(tài)下載的可執(zhí)行文件可能被意外修改,導致代碼注入問題。以 Android 14 為目標平臺的應用動態(tài)加載的文件需要標記為只讀。請訪問官方文檔了解詳細信息:https://developer.android.google.cn/about/versions/14/behavior-changes-14#safer-dynamic-code-loading
阻止應用安裝
惡意軟件通常以較舊的 API 級別為目標,以繞過較新的 Android 版本中引入的安全和隱私保護措施。因此,從 Android 14 開始,targetSdkVersion 低于 23 的應用將無法安裝。之所以選擇這個特定的版本,是因為一些惡意應用使用 targetSdkVersion 22 來避免受到 2015 年 Android 6.0 (API 級別 23) 引入的運行時權(quán)限模式的影響。
-
targetSdkVersion
https://developer.android.google.cn/guide/topics/manifest/uses-sdk-element
adb install --bypass-low-target-sdk-block FILENAME.apk
憑證管理器和 Passkey 支持 我們最近發(fā)布了憑證管理器 (Credential Manager) 的 Alpha 版本,這是一個新的 Jetpack API,用于簡化用戶的認證流程,同時也通過使用 Passkey 來提高安全性。Passkey 是一種代替密碼和其他易受攻擊的認證方式的新方案,其安全性有顯著的提升。對用戶來說也更方便,他們只需要在任何設(shè)備上進行一次生物識別就可以安全地登錄。請閱讀官方博文了解詳細信息:
https://android-developers.googleblog.com/2023/02/bringing-together-sign-in-solutions-and-passkeys-android-new-credential-manager.html?m=1
-
讓用戶使用憑證管理器登錄
https://developer.android.google.cn/training/sign-in/passkeys
應用兼容性
在發(fā)布新的平臺版本時,我們會優(yōu)先考慮應用的兼容性,以讓更新過程更快、更順暢。在 Android 14 中,大多數(shù)面向應用的變更依然是可選的,這樣能為大家提供更多的時間進行調(diào)整和適配。我們還更新了工具和流程,幫助大家更快地做好準備。 OpenJDK 17 支持 - 預覽版已支持 300 個 OpenJDK 17 類。我們正在努力為后續(xù)的開發(fā)者預覽版帶來完整的 Java 17 語言功能。這些功能包括記錄類、多行字符串和 instanceof 模式匹配。通過 Google Play 系統(tǒng)更新 (Project Mainline),超過 6 億臺設(shè)備能夠獲得最新的 Android Runtime (ART) 更新,包括對 OpenJDK 17 的支持。這也是我們的承諾之一,即為應用提供跨設(shè)備、更加一致、更加安全的環(huán)境,并且在平臺版本更新之外持續(xù)為用戶帶來新特性和新功能。
-
Google Play 系統(tǒng)更新
https://android-developers.googleblog.com/2019/05/fresher-os-with-projects-treble-and-mainline.html
即刻開始體驗 Android 14
不論您是想體驗 Android 14 的功能、測試應用還是提交反饋,都可以從這次的開發(fā)者預覽版開始。如果您想要測試應用在平板電腦和可折疊設(shè)備上的兼容性,最簡單的方法是使用 Android Studio SDK 管理器最新預覽版中 Android 模擬器的平板電腦或可折疊設(shè)備配置進行測試。對于手機,只需將系統(tǒng)映像下載并刷入 Pixel 7 Pro / 7 / 6a / 6 Pro / 6 / 5a 5G / 5 / 4a (5G) 設(shè)備,即可立即開始使用。如果您沒有 Pixel 設(shè)備,則可以在 Android Studio 中使用帶有 64 位系統(tǒng)映像的 Android 模擬器。
-
反饋與需求
https://developer.android.google.cn/about/versions/14/feedback
-
安裝 SDK
https://developer.android.google.cn/about/versions/14/setup-sdk#install-sdk
-
獲取系統(tǒng)映像
https://developer.android.google.cn/about/versions/14/download
為了獲得最佳的 Android 14 開發(fā)體驗,我們建議您使用 Android Studio Giraffe 的最新預覽版或更高版本。
-
Android Studio Giraffe
https://developer.android.google.cn/studio/preview
設(shè)置好 SDK 后,您可以:
-
體驗新功能和 API - 在開發(fā)者預覽版的早期階段,您的反饋至關(guān)重要。您可以在我們的跟蹤頁報告問題:
https://developer.android.google.cn/about/versions/14/feedback
-
測試應用的兼容性 - 測試您的應用是否受到 Android 14 默認行為變更的影響。請將應用安裝到運行 Android 14 的設(shè)備或模擬器上進行徹底的測試。
-
使用可選變更項測試應用 - Android 14 提供了可選的行為變更,這些變更僅在您的應用以新平臺為目標時才會造成影響。盡早了解和評估這些變更十分重要。為了便于測試,您可以單獨啟用或者禁用這些變更:
https://developer.android.google.cn/about/versions/14/reference/compat-framework-changes
-
設(shè)置 Android 14 SDK
https://developer.android.google.cn/about/versions/14/setup-sdk
https://developer.android.google.cn/about/versions/14/get
如果您打算從 Android 13 QPR Beta 版轉(zhuǎn)移到 Android 14 開發(fā)者預覽版,并且不想擦除您的設(shè)備,我們建議您現(xiàn)在就安裝本次的開發(fā)者預覽版 1,否則之后 Android 13 Beta 版可能發(fā)布構(gòu)建日期更新的版本,屆時您就無法在不擦除數(shù)據(jù)的情況下直接安裝 Android 14 開發(fā)者預覽版了。
-
Android 13 QPR Beta 版
https://developer.android.google.cn/about/versions/13/get-qpr
* Java 和 OpenJDK 是 Oracle 和/或其附屬公司的商標或注冊商標。
![03e0051c-a9ad-11ed-bfe3-dac502259ad0.gif](https://file1.elecfans.com//web2/M00/98/F3/wKgaomTnX02AJ1vtAAAafJIrrMk009.gif)
原文標題:Android 14 首個開發(fā)者預覽版到來
文章出處:【微信公眾號:谷歌開發(fā)者】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
-
谷歌
+關(guān)注
關(guān)注
27文章
6196瀏覽量
106017
原文標題:Android 14 首個開發(fā)者預覽版到來
文章出處:【微信號:Google_Developers,微信公眾號:谷歌開發(fā)者】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
谷歌推出Android XR SDK開發(fā)者預覽版
谷歌推出Android 16首個開發(fā)者預覽版
蘋果發(fā)布Apple Intelligence開發(fā)者測試版
KaihongOS 4.1.2開發(fā)者預覽版正式上線,誠邀開發(fā)者免費試用!
![KaihongOS 4.1.2<b class='flag-5'>開發(fā)者</b><b class='flag-5'>預覽版</b>正式上線,誠邀<b class='flag-5'>開發(fā)者</b>免費試用!](https://file.elecfans.com/web2/M00/35/6C/poYBAGIq5qqAQJzlAAA5OpNWiJA439.png)
KaihongOS 4.1.2開發(fā)者預覽版正式上線,誠邀開發(fā)者免費試用!
蘋果推出visionOS 2.1的開發(fā)者預覽版Beta 2
Apple Watch迎來watchOS 11.1 Beta 1開發(fā)者預覽版
鴻蒙開發(fā)設(shè)備管理:ohos.deviceInfo 設(shè)備信息
![鴻蒙<b class='flag-5'>開發(fā)</b>設(shè)備管理:ohos.deviceInfo 設(shè)備信息](https://file1.elecfans.com/web2/M00/C9/99/wKgaomYeL0WAZFDHAAACSiKnE8w930.jpg)
iOS 16.7.8 RC版上線,推薦注冊開發(fā)者計劃升級預覽版
Android 15的首個開發(fā)者預覽版現(xiàn)已發(fā)布
![<b class='flag-5'>Android</b> 15的<b class='flag-5'>首個</b><b class='flag-5'>開發(fā)者</b><b class='flag-5'>預覽版</b>現(xiàn)已發(fā)布](https://file1.elecfans.com/web2/M00/C3/F9/wKgZomXv83SAPKC7AAB0OyWZuBM240.jpg)
微軟升級Windows 11 Copilot預覽版技能
Testin云測國內(nèi)首發(fā)Android 15開發(fā)者預覽版云真機
![Testin云測國內(nèi)首發(fā)<b class='flag-5'>Android</b> 15<b class='flag-5'>開發(fā)者</b><b class='flag-5'>預覽版</b>云真機](https://file1.elecfans.com/web2/M00/C0/D3/wKgZomXZR5mAaV9oAAAIoqZJIsA490.jpg)
評論