上個月在 Google I/O 上我們為 Android 開發者帶來了許多新消息,包括 Android Q 的新功能,以及 Kotlin 和 Jetpack 的最新進展。
我們在 Android Q 上聚焦三個主題: 創新、隱私與安全,以及數字健康。我們希望幫助開發者利用 5G、摺疊屏、全面屏、設備端機器學習等最新技術,同時確保用戶安全、隱私以及健康是您開發過程中的首要考慮因素。
我們也談到了我們將如何持續強化 Kotlin 首選開發語言的地位,以及持續擴展 Jetpack,如添加 CameraX、Jetpack Security 和 Jetpack Compose (一個基於 Kotlin 的現代響應式風格的 Android 界面工具包) 這樣的庫。如果您錯過了主題演講或者分會場演講的直播,請移步至完整的 Android 和 Google Play 演講視頻列表進行觀看。
使用 Kotlin 開發 Android 應用
https://developer.android.google.cn/kotlin/
CameraX
https://developer.android.google.cn/training/camerax
Jetpack Security
https://developer.android.google.cn/topic/security/data
Jetpack Compose
https://android.googlesource.com/platform/frameworks/support/+/refs/heads/androidx-master-dev/ui/README.md
Android 和 Google Play 演講視頻列表
https://www.youtube.com/watch?v=Hzv5-R9XLTc
上周,我們正式發布了 Beta 4 版本以及 Android Q 的定稿 API 和官方 SDK。現在就讓您的應用為在今年夏末的正式版發布做好準備吧!
您即刻就可以參加 Beta 測試計劃,在 Pixel 設備上獲取 Beta 4。如果您已經參加了 Beta 測試計劃並且已經在您的 Pixel 設備上運行 Beta 3 的話,它將會自動更新到 Beta 4。加入了 Android Q Beta 項目的 Google 合作夥伴們也會在接下來的數周內將他們的設備更新到 Beta 4。
如果您想開始為 Android Q Beta 開發應用,請移步 developer.android.google.cn/preview/。
Beta 4 更新裡包含供 Pixel 及模擬器使用的最新 Android Q 系統映像,Android Q 定稿版開發者 API (API 等級 29),官方的 API 29 SDK,以及升級版的 Android Studio 構建工具。這些更新內容確保您能針對 Android Q 測試應用兼容性,以及針對 Android Q 的功能和 API 進行開發構建。
想立刻著手開發很容易,只需將官方 API 29 SDK 和工具下載至 Android Studio 3.4 穩定版,或更新至 Android Studio 3.5 beta 版以獲得 Android Q 支持。然後按照設置說明配置開發環境,另外也請閱讀發布說明裡的已知問題列表。
Android Studio 3.4 穩定版
https://developer.android.google.cn/studio/
Android Studio 3.5 beta 版
https://developer.android.google.cn/studio/preview
配置開發環境
https://developer.android.google.cn/preview/setup-sdk
發布說明
https://developer.android.google.cn/preview/release-notes
如今開發者 API 已經定稿,系統的發布候選版也即將到來,所有開發者請務必開始測試自己的應用在 Android Q 上的兼容性,而且我們建議儘早開展這項工作。
請將您的應用從應用商店下載至運行 Android Q Beta 的真機或模擬器,然後進行測試。在測試主要的工作流程時,您的應用應該表現良好,且能夠正確處理 Android Q 帶來的行為變更。請注意由隱私保護變動事項、手勢導航、生物驗證庫的動態連結路徑變化等帶來的影響。
Android Q 測試版設備
https://developer.android.google.cn/preview/devices
創建和管理虛擬設備
https://developer.android.google.cn/studio/run/managing-avds.html
Android Q 行為變更
https://developer.android.google.cn/preview/behavior-changes-all
Android Q 中的隱私權
https://developer.android.google.cn/preview/privacy
手勢導航
https://developer.android.google.cn/preview/features/gesturalnav
生物驗證庫的動態連結路徑變化
https://developer.android.google.cn/preview/behavior-changes-all#bionic
請務必針對 Android Q 的隱私保護新特性進行測試,其包括新的位置權限請求、限制應用從後臺啟動、關於數據和設備識別符方面的變更,以及其他核心隱私保護功能。請查看隱私特性檢查清單並逐一測試。另外也請查看行為變化文檔,以確定更多的測試項目。
位置權限請求
https://developer.android.google.cn/preview/privacy/device-location
限制應用從後臺啟動
https://developer.android.google.cn/preview/privacy/background-activity-starts
限制應用訪問不可重置的設備識別號
https://developer.android.google.cn/preview/privacy/data-identifiers
Android Q 隱私特性檢查清單
https://developer.android.google.cn/preview/privacy/checklist
△ 使用最新的 Android 模擬器來測試您應用的兼容性
如果您打算將您的目標平臺版本升級至 API 29,請確保測試分區存儲、無線連接所需的位置權限,以及全屏 intent 權限。您可以在 「Android Q 行為變更」 文檔中了解會影響應用的其他變更項目。
分區存儲
https://developer.android.google.cn/preview/privacy/scoped-storage
無線連接所需的位置權限
https://developer.android.google.cn/preview/privacy/camera-connectivity#fine-location-telephony-wifi-bt
全屏 intent 權限
https://developer.android.google.cn/preview/behavior-changes-q#full-screen-intents
Android Q 行為變更
https://developer.android.google.cn/preview/behavior-changes-q
另外一個很重要的工作是測試應用在使用的受限制的非 SDK 接口,並切換到公開 SDK 或 NDK 的替代接口。請注意查看 logcat 中對非 SDK 接口調用的警告信息,並使用 StrictMode 的 detectNonSdkApiUsage() 方法在運行時捕獲這些調用。
最後,請全面測試在您的應用中使用到的開發庫和 SDK,確保它們在 Android Q 中工作正常,且遵循隱私、性能、用戶體驗、數據處理以及權限操作的最佳實踐。如果您發現了異常,請試著更新到最新版本的 SDK,或者聯繫 SDK 的開發者以尋求幫助。您也可以使用下面的連結匯報 SDK 的兼容性問題,或 點擊屏末 | 閱讀原文 | 提交產品反饋建議。
在測試完應用並做出必要的更新後,我們建議您立刻發布已完成適配。這樣 Android Beta 的用戶們就能測試它,並且在用戶們更新到 Android Q 的過程中幫您做到平滑過渡。
做出上述更新意味著您需要進行研發投入,我們非常理解這一點,所以我們也在努力減小對您應用的影響,並在接下來幾個月發布最終版本的過程中繼續傾聽您的反饋並做出響應。
用 Android Q 新特性和 API 提升您的應用
在您準備好之後,請深入了解 Android Q,了解那些可以在您的應用中使用的特性和 API。Android Q 的新特性能幫助您吸引用戶,為他們提供更多的控制權與隱私保護,甚至能提升應用的性能表現。
△ Android Q 提供了系統智能回復建議,以及通知內建議操作
比如,您可以通過針對摺疊屏進行優化,從而為用戶提供無縫切換的邊到邊屏幕體驗,還可以在應用中加入手勢導航。您也可以使用夜間模式、通知內的智能回復及建議操作、分享快捷方式以及快捷設置面板等特性來吸引用戶。
為摺疊屏打造應用
https://developer.android.google.cn/preview/features/foldables
手勢導航
https://developer.android.google.cn/preview/features/gesturalnav
夜間模式
https://developer.android.google.cn/preview/features/darktheme
通知內的智能回復及建議操作
https://developer.android.google.cn/preview/features#smart-suggestions
分享方面的改進
https://developer.android.google.cn/preview/features/sharing
快捷設置面板
https://developer.android.google.cn/preview/features#settings-panels
△ 手勢導航能為您的應用帶來邊到邊的操作和視覺體驗
如果您的應用使用 Wi-Fi 管理物聯網設備,請嘗試新的網絡連接 API (Network Connnection API) 來使用配置、下載或者列印功能。如果您的應用能管理 Wi-Fi 網絡連接,請嘗試使用網絡建議 API (Network Suggestion API) 向用戶顯示偏好的 Wi-Fi 網絡並發起網絡連接,而無需請求位置權限。
如果您的應用使用了攝像頭,請了解一下動態深度格式。對於媒體處理類的應用,您可以使用視頻編碼格式 AV1 進行視頻串流,以及 HDR10+ 來提供高動態範圍視頻。針對語音和音樂串流,您可以使用 Opus 編碼。我們還為音樂創作者們提供了原生 MIDI API。
動態深度格式
https://developer.android.google.cn/preview/features#dynamic-depth
AV1
https://en.wikipedia.org/wiki/AV1
HDR10+
https://en.wikipedia.org/wiki/High-dynamic-range_video#HDR10+
Opus
http://opus-codec.org/
原生 MIDI API
https://developer.android.google.cn/preview/features/midi
△ 動態深度 (Dynamic Depth) 可以幫助您在應用中實現模糊或散景效果
如果想要支持字幕生成和遊戲回放錄製的話,請打開音頻回放捕獲功能——這是一個讓您的應用觸達更多用戶的好方法。如果您的應用會劇烈消耗電能,請使用全新的熱感 API (Thermal API) 來根據設備的溫度對應用的性能進行優化。
在現代設備上進行指紋識別時,現在更推薦使用 BiometricPrompt,所有使用指紋識別或者其他生物驗證方式的開發者都應該儘快轉而使用這個 API。 為了讓切換過程更加順利,請使用我們在 AndroidX 庫中提供的向後兼容的 BiometricPrompt API。Android Q 支持顯式和隱式 (人臉識別等變動識別方法時無需用戶提供明確確認) 的身份驗證流。
BiometricPrompt
https://developer.android.google.cn/reference/android/hardware/biometrics/package-summary
AndroidX 庫中的 BiometricPrompt
https://developer.android.google.cn/reference/androidx/biometric/BiometricPrompt
這些只是 Android Q 中新特性和 API 中的一小部分。請移步 Android Q Beta 開發網站了解完整清單。
隨著 Android Q Beta 4 的發布,Google Play 也正式開始接受針對 (或可選性地針對) API 29 進行編譯的應用。這使得您可以通過 Google Play 將應用更新推送給用戶,並在用戶的設備上測試應用的兼容性,包括那些運行 Android Q Beta 4 的設備。
獲取步驟很簡單!Pixel 用戶請加入 Beta 測試計劃並獲取更新。如果您已加入,無需任何行動,設備將很快收到更新推送。此外,系統映像文件也已開放下載。Android Q Beta 測試計劃中 Google 合作夥伴們也會在接下來數周內更新他們的設備。請訪問 android.com/beta 查看全部支持機型。
為了能在支持的設備上進行更多測試,您可下載 Android GSI 通用系統映像。如果暫時沒有合適的設備,您也可以使用模擬器進行測試。
您的反饋意見對我們非常重要,所以請繼續向我們反饋產品的想法和建議。您可以通過熱點清單向我們反饋平臺問題 (包括隱私和行為變更問題)、應用兼容性問題和第三方 SDK 問題,也歡迎在下方評論區留言或 點擊屏末 | 閱讀原文 | 提交產品反饋建議。我們已經收到了許多寶貴的反饋,目前我們正在積極準備下一個 Beta 版本的發布,希望可以儘可能多地整合大家的意見和建議。
向我們反饋產品的想法和建議
https://developer.android.google.cn/preview/feedback.html
反饋平臺問題
https://issuetracker.google.com/issues/new?component=190602&template=1226573
反饋應用兼容性問題
https://issuetracker.google.com/issues/new?component=190602&template=1227376
反饋第三方 SDK 問題
https://issuetracker.google.com/issues/new?component=190602&template=1227583
期待您的應用在 Android Q 上的精彩表現!
點擊屏末 | 閱讀原文 | 提交產品反饋建議
推薦閱讀