北京時間 5 月 8 日 01:00am 起,2019 Google I/O 大會通過多種方式與全世界的 Android 開發者互動。相信 Shoreline Amphitheatre 露天劇場的 7,200 位現場嘉賓、收看大會直播的線上觀眾以及參與 GDG 社區 I/O 延展活動 的開發者都已經瞭解到我們為讓開發者更輕鬆地工作所做的努力。在 Google I/O 大會上,我們探討了兩大主題: 提升開發者的工作效率,以及在平臺中加強對用戶隱私和安全的保護。我們來詳細瞭解一下 I/O 大會目前已經爆出的與開發者相關的重磅新聞:
開發者的工作效率
今年,我們專注於一個簡單的想法,即我們想為您節省每天的工作時間。而實現這一目標的方法,就是改進您使用的每一項工具。
Kotlin
兩年前,我們宣佈 Android 平臺正式支持 Kotlin 語言。彼時我們的頂級開發者就已經對 Kotlin 愛不釋手,自那時起,其發展速度一直令人欣喜。現在有超過 50% 的專業開發者使用 Kotlin。近兩年,Kotlin 已躋身 Stack Overflow 上最受喜愛的語言,也是 GitHub 上貢獻者數量增長最快的語言之一。
現在,我們要宣佈另一項重大舉措: Android 開發將越來越向 Kotlin 傾斜。許多新增的 Jetpack API 和功能也將優先提供 Kotlin 版本。如果您正要啟動一個新項目,則應該使用 Kotlin 編寫,使用 Kotlin 編寫程序意味著更少的代碼。即,需要輸入、測試和維護的代碼數量更少。此外,在與 Jetbrains 和 Kotlin 基金會的合作期間,我們將在工具、文檔、培訓和活動方面持續投資,使 Kotlin 更加易學易用。其中就包括 Kotlin/Everywhere。這是一項新推出的全球系列活動,參與者可以詳細瞭解這門語言、新的 Udacity 課程等。
Kotlinhttps://developer.android.google.cn/kotlin/Kotlin/Everywherehttps://events.withgoogle.com/kotlin-everywhere/Udacityhttps://cn.udacity.com/course/developing-android-apps-with-kotlin--ud9012Android Jetpack
去年,我們曾推出 Android 的 API Android Jetpack,旨在提升 Android 開發的速度,並讓開發者能夠使用更少的代碼,更輕鬆地編寫出高質量的應用。隨著我們繼續簡化更多開發者日常面臨的挑戰,在我們前 1000 名的應用中,超過 80% 的應用已經在使用 Jetpack。本次,我們要發佈 6 個全新 Jetpack 庫 (alpha 版),並將 5 個庫的質量提升至測試版水平。以下是 3 個亮點:
CameraX
各位開發者曾告訴我們很難在各種不同的 Android 設備上高效工作。CameraX 是一個全新 Android Jetpack 開源庫,可以降低相機應用開發的難度,提升開發速度。此開源庫可以在不同設備上提供始終如一的相機體驗,使您不再需要維護設備的具體配置。您可以在參與項目的製造商設備上找到對尖端軟硬件功能 (例如光學變焦、背景虛化、HDR,以及夜間模式) 的支持。CameraX 適用於近 90% 的設備,並向後兼容 Android L。此外,CameraX 還有一個簡單的遷移路徑,方便用戶從舊版相機 API 遷移,並且還可以與 camera2 API 無縫對接。Android 設備上 70% 的相機使用量來自安裝的應用,而非設備內置的相機應用,因此我們非常高興能夠降低相機應用的開發難度。
架構組件
我們根據各位開發者的反饋做出一些補充和改進。開發者們曾告訴我們在 Android 平臺上實現併發非常困難。因此,我們將為您帶來含有協程的 LiveData 和 Lifecycles,以支持常見的一次性異步操作。使用帶有 SavedState 模塊的 ViewModel,您可以消除樣本代碼,並通過簡單的 API 獲得使用 ViewModel 和 SavedState 的雙重益處,進而直接從您的 ViewModel 中保存和檢索數據。如果錯過這一版也沒有關係,我們在幾個月前剛剛發佈了 WorkManager (後臺處理) 和 Navigation (在應用屏幕間導航) 的穩定版。
Jetpack Compose
有許多開發者一直敦促我們提供適用於 Android 平臺的現代反應式風格界面工具包,並且可以利用 Kotlin,並能夠與平臺,以及現有的全部代碼無縫集成。我們要介紹該項目團隊在 Jetpack Compose 方面所作的工作。Jetpack Compose 旨在將反應式編程模型與 Kotlin 的簡潔性和易用性相結合,從而簡化界面開發。Jetpack Compose 與現有的界面工具包兼容,因此您可以通過直接訪問所有 Android 和 Jetpack API 來混合和匹配視圖。此外,工具包還對定義界面組件具有完全聲明性。而且,此工具包的設計從一開始便已考慮到材料、動畫和工具。從今日起,我們將以公開形式開發此工具包,您可以在 AOSP 上找到所有代碼。
Android Studio
本次大會上,我們發佈了 Android Studio 3.5 測試版。幾個月來,該項目團隊與 Project Marble 團隊合作,專注於優化和改進日常開發流程。Android Studio 3.5 涵蓋針對大型項目的更優 IDE 內存管理、更低的輸入延遲、Lint 改進、CPU 使用優化、佈局編輯器改進、模擬器改進、版本號變更,以及對 Instant Run 的完全重寫。Instant Run 現稱為 Apply Changes,能夠可靠地提升在設備上查看代碼更改的能力,還能對 400 多種高優先級的漏洞予以修復。
Android Studio 3.5https://developer.android.google.cn/studio/previewLint 改進https://medium.com/androiddevelopers/android-studio-project-marble-lint-performance-8baedbff2521佈局編輯器改進https://medium.com/androiddevelopers/android-studio-project-marble-layout-editor-608b6704957a模擬器改進https://medium.com/androiddevelopers/android-emulator-project-marble-improvements-1175a934941e版本號變更https://medium.com/androiddevelopers/improving-build-speed-in-android-studio-3e1425274837Apply Changeshttps://medium.com/androiddevelopers/android-studio-project-marble-apply-changes-e3048662e8cdAndroid 規模的機器學習
在 Android Q 中,我們已對 Android 神經網絡 API (NNAPI) 做出重大改進。首先,我們將支持的運算符數量從 38 增加到 90。現在,NNAPI 無需更改即可加速絕大多數模型。我們還為高級用戶引入自檢 API,以幫助他們完全控制負責加速的硬件 (例如,DSP 與 NPU)。此外,我們還與硬件供應商緊密合作,以顯著提升性能 (降低延遲時間和能耗)。通過與 MediaTek 合作,我們能夠在 Helio P90 上將 ML Kit 人臉檢測 API 的運行速度提升 9 倍。與 Qualcomm 的合作使我們能夠提升 Google Lens OCR 在 Snapdragon 855 AI Engine 上的運行速度,並在提速 3 倍的同時將能耗降低 370%。
ML Kithttps://developers.google.cn/ml-kit/
動態功能和應用內更新
去年,我們曾推出能夠幫助您縮減應用大小並增加安裝量的 Android App Bundle。自那時起,我們已經看到 80,000 多個應用軟件包進入生產狀態,而應用大小則平均縮減 20%。本次大會我們要發佈許多內容,以幫助您縮減應用大小,並進一步提升向用戶發佈更新的速度。我們非常高興地介紹正在從測試版過渡到穩定版的動態功能模塊。藉助動態功能模塊,您可以根據設備功能、國家/地區等條件選擇應用要提供的功能,從而進一步縮減應用大小。您甚至可以按需提供模塊,而不用在安裝時統一添加。今天,我們還要將應用內更新功能從測試版轉為穩定版。這種動態更新應用的能力正是您長久以來希望獲得的功能。假設您的應用中存在一個嚴重漏洞,您需要立刻消除,而且不希望等到用戶在 Play Store 發現應用更新時才能消除。現在您就可以即刻消除漏洞。
Android App Bundlehttps://developer.android.google.cn/platform/technology/app-bundle動態功能模塊https://developer.android.google.cn/guide/app-bundle/playcore應用內更新https://developer.android.google.cn/guide/app-bundle/in-app-updatesAndroid Q 的用戶隱私與安全
作為開發者社區,我們所有人都非常重視妥善處理用戶的隱私與安全問題。這關係到在構建能夠為開發者提供強大功能的平臺的同時,確保用戶的安全和隱私得到保護。幾個月前,我們推出的 Android Q 測試版具備 50 多項功能以及圍繞用戶隱私與安全做出的改進。這些 Android Q 的變更可為用戶提供更多的透明度和可控性。
一如既往,我們正努力完成有助於開發者採用新版本的所有工作。我們知道您有自己想要構建的功能。這也正是為什麼我們非常努力地將這些 Android Q 變更對您的影響降到最低,並將您的反饋納入其中。我們提供儘可能長的通知期,並預先提供完整詳盡的技術信息,以幫助開發者輕鬆採用新版本。我們還想感謝社區的持續反饋。這對努力試圖妥善解決此問題的團隊而言是非常巨大的幫助。一個非常典型的示例是第 3 個測試版的存儲空間變更,您的反饋幫助我們在測試期間改進功能。長久以來,Android 致力於將所有重大變更對用戶隱私和安全的影響降至最低。我們矢志不渝,並將努力讓 Android 成為我們鍾愛的靈活開放平臺,方便開發者使用。