【編者按】本文作者為 Chris Ward,主要介紹新一年的谷歌開(kāi)發(fā)者大會(huì)為安卓開(kāi)發(fā)者們帶來(lái)的8條關(guān)鍵訊息。本文系國(guó)內(nèi) ITOM 管理平臺(tái) OneAPM 編譯呈現(xiàn),以下為正文。
又是一年的谷歌開(kāi)發(fā)者大會(huì)。這次,谷歌發(fā)布了一系列公告,包括它進(jìn)軍智能助理領(lǐng)域的消息,同時(shí)也發(fā)布了好幾款古靈精怪的設(shè)備和應(yīng)用。然而谷歌僅給出了少部分細(xì)節(jié),也沒(méi)有開(kāi)放針對(duì)開(kāi)發(fā)者的API權(quán)限。因此我們將稍后再做報(bào)道。如果你想了解更多,可以查看谷歌開(kāi)發(fā)者大會(huì)官方博文。
Android N有很多新功能,其中筆者最喜歡的(以用戶為中心的)功能包括:無(wú)縫更新(源自ChromeOS的靈感)以及即時(shí)(JIT)編譯(向“安卓正在更新”說(shuō)再見(jiàn)吧)。
但是本文將著重探討此次大會(huì)上發(fā)布的、與當(dāng)前開(kāi)發(fā)工作相關(guān)的新功能,并告訴你應(yīng)該如何著手使用。
文章將會(huì)涉及很多方面,準(zhǔn)備好暢游安卓世界吧!
1. Android Studio 2.2
筆者一直鐘愛(ài)Android Studio,它即將推出的版本也將帶來(lái)許多提升安卓開(kāi)發(fā)者體驗(yàn)的新功能。對(duì)了,當(dāng)你下載那些新SDK的時(shí)候,你會(huì)發(fā)現(xiàn)Android Studio終于把它們放在后臺(tái)下載了。
速度
最新版本的Android Studio已經(jīng)改進(jìn)了即時(shí)運(yùn)行功能,但2.2版本宣稱會(huì)進(jìn)一步完善,使其效率提升10倍以上。模擬器的速度也更快了,谷歌宣傳現(xiàn)在的模擬器速度將快過(guò)某些真機(jī)。
測(cè)試記錄器
這個(gè)功能棒極了。它可以讓你在調(diào)試模式下運(yùn)行應(yīng)用,并為UI事件自動(dòng)編寫Espresso測(cè)試腳本,然后在本地或遠(yuǎn)程測(cè)試實(shí)驗(yàn)室運(yùn)行這些腳本。
我本想給該功能錄一段視頻。但是在筆者下載的預(yù)覽版本中,菜單里似乎沒(méi)有這個(gè)選項(xiàng)。這有點(diǎn)掃興,也可能是我看漏了。
更好的構(gòu)建
打開(kāi)你的應(yīng)用,就進(jìn)入了一個(gè)充滿可能性的世界。Android Studio現(xiàn)在支持CMake和NDK-Build工具,并且可以支持Java 8。這也意味著用C++寫代碼再也不用NDK庫(kù)了,C++與Java代碼的混合將變得更好。這都得歸功于來(lái)自JetBrains的CLion IDE的新功能。
如果你堅(jiān)持使用Cradle,這兒有一個(gè)新的菜單項(xiàng)File -> Project Structure(需要在preferences中的Experimental窗格中啟用),當(dāng)出現(xiàn)過(guò)期的依賴關(guān)系時(shí)它會(huì)提醒你,允許你更新、安裝它們,并且?guī)湍銓懭隚radle文件。

對(duì)于那些努力想把自己的應(yīng)用權(quán)限遷移到新的M和N模式的人,只要選中一個(gè)舊的權(quán)限方式,再選擇Refactor -> Convert to Android System Permissions菜單項(xiàng),就可以實(shí)現(xiàn)你的想法。
布局
Android Studio中針對(duì)界面設(shè)計(jì)的工具仍然落后于XCode,但版本2.2有所改進(jìn):我們有了更好的拖放功能(特別是菜單),有新的藍(lán)圖模式供用戶來(lái)檢查整體布局,有為了設(shè)計(jì)跨設(shè)備界面而準(zhǔn)備的限制式布局(類似iOS的AutoLayout),以及新組建檢測(cè)器,用來(lái)顯示額外計(jì)算的運(yùn)行時(shí)細(xì)節(jié)。
更好地編碼
為了幫助你更好地編寫代碼,2.2版增加了用于檢查API版本、線程處理和其他用途的新注解。 它增加了一個(gè)示例瀏覽器,以幫助用戶找到特定符號(hào)的方法示例。它還提供了一個(gè)APK分析器,用于跟蹤內(nèi)存問(wèn)題,并根據(jù)最終編譯應(yīng)用程序的大小,給出減少文件大小的建議。 你可以通過(guò)Build -> Analyze APK菜單項(xiàng)找到這個(gè)分析器。

您還可以在APK中看到即時(shí)運(yùn)行功能。

新的manifest合并視圖可以告訴你manifest文件中加入了哪些來(lái)自其它資源的項(xiàng)目。 例如,在下面這個(gè)谷歌地圖演示應(yīng)用中,來(lái)自play服務(wù)和firebase的資源就被加入到了manifest中:

2. 即時(shí)應(yīng)用
最令人興奮/好奇/充滿疑問(wèn)的一條發(fā)布通知是,將來(lái)在某種程度上,安卓用戶無(wú)需再安裝應(yīng)用,而可以直接打開(kāi)。用戶只需點(diǎn)擊相關(guān)應(yīng)用的一條鏈接,Play商店就會(huì)開(kāi)始下載所需的代碼。這是利用了安卓Activity的概念。KitKat以上的安卓版本都可以支持。真是個(gè)有趣的玩意。不知道它會(huì)給應(yīng)用安裝帶去怎樣的改變,而當(dāng)用戶設(shè)定了流量限制時(shí),它又將如何遵守這些限制呢?
3. Play與ChromeOS
安卓設(shè)備的數(shù)億潛在用戶還不足夠做你的用戶基群?jiǎn)??谷歌宣稱在2016年第一季度已售出通過(guò)兩百萬(wàn)臺(tái)基于Chrome的設(shè)備(該消息已由國(guó)際數(shù)據(jù)中心確認(rèn))。這一銷售數(shù)據(jù)擊敗了蘋果Mac 的銷售額,而且Mac上也可以安裝Play商店了。
為了達(dá)到這一銷量,谷歌使用了Linux的命名空間組合,用以分隔安卓和Chrome操作系統(tǒng),但又在兩個(gè)系統(tǒng)間共享了一些重要的資源。沒(méi)有模擬或虛擬化,一個(gè)完整的安卓系統(tǒng)都可以在ChromeOS中運(yùn)行。
大部分功能都可以在ChromeOS中順利運(yùn)行,而無(wú)需額外的努力。但是,請(qǐng)記住,許多功能并沒(méi)有必要在Chrome上運(yùn)行。舉例來(lái)說(shuō),你可不會(huì)帶著ChromeBook去跑步。
點(diǎn)擊這里查看更多的細(xì)節(jié)與建議。
4. 虛擬現(xiàn)實(shí)白日夢(mèng)
Cardboard是谷歌進(jìn)軍虛擬現(xiàn)實(shí)(VR)市場(chǎng)的首次嘗試,反響相當(dāng)成功,這主要?dú)w功于它的簡(jiǎn)單。但你我都知道,要讓VR與安卓更加成功,還需要更多東西。
“Daydream”(白日夢(mèng))將成為Android N的一部分(請(qǐng)不要與“daydream模式”相混淆),但需要可用daydream設(shè)備的支持,這會(huì)限制用戶數(shù)量。不過(guò)谷歌宣稱將有“數(shù)億”用戶使用這一平臺(tái)。建議配套使用的新耳機(jī)和控制器也還處在概念設(shè)計(jì)階段。但Cardboard仍然可以使用。

Daydream的首頁(yè)很有意思:具有未來(lái)感的、能帶給用戶沉浸式體驗(yàn)的界面,供用戶選擇各式內(nèi)容與媒體服務(wù),包括Netflix、Hulu、YouTube和紐約時(shí)報(bào)(有點(diǎn)奇怪吧)的專門應(yīng)用。
由于開(kāi)發(fā)過(guò)程需要一個(gè)Nexus 6P設(shè)備,因此筆者暫時(shí)無(wú)法親自測(cè)試。如果你有一臺(tái)這個(gè)設(shè)備的話,點(diǎn)擊這里開(kāi)始安裝吧。還有支持Unity和iOS的SDK版本。
5. Android Wear 2.0
安卓可穿戴設(shè)備的新版本將于今年晚些時(shí)候發(fā)布,并會(huì)引入許多新的功能,下面這些是筆者最喜歡的:
- 表面內(nèi)容可完全自定義。任何第三方應(yīng)用的數(shù)據(jù)都可顯示在表面上。
- 神奇的是,該操作系統(tǒng)具有手寫識(shí)別功能,并提供一個(gè)使用IMF的鍵盤。
- 支持單機(jī)模式,即應(yīng)用程序可以在可穿戴設(shè)備上獨(dú)立運(yùn)行,無(wú)需配對(duì)設(shè)備。
- 針對(duì)Android Wear,現(xiàn)在已有官方版本的Material Design設(shè)計(jì)指導(dǎo)可供查看。
詳細(xì)信息請(qǐng)看這里 ,如果你熱切地想要開(kāi)始為Wear 2.0開(kāi)發(fā)應(yīng)用,點(diǎn)這里預(yù)覽。
6. Android Auto
將愛(ài)車與一臺(tái)安卓設(shè)備綁定使用似乎已經(jīng)越來(lái)越可行了。盡管并沒(méi)有許多吸引眼球的大公告,但有一些小更新也許會(huì)讓開(kāi)發(fā)者們感興趣。如果你從未嘗試過(guò)為Android Auto開(kāi)發(fā)任何應(yīng)用,SitePoint最近剛發(fā)布了一篇文章,告訴你應(yīng)如何開(kāi)始。
- Waze插件:有新的地圖數(shù)據(jù),但開(kāi)發(fā)者們可做的少之又少。但如果你熟悉(并且正在使用)Waze API,它會(huì)是你工作的另一個(gè)平臺(tái)。
- 你并不需要一個(gè)兼容的車載:這么多年以來(lái),我們一直試圖讓車載面板向手機(jī)界面靠攏,但今年下半年更新之后,你甚至都不再需要一輛車了。你可以將手機(jī)轉(zhuǎn)換到“汽車模式”,接著就可以在手機(jī)上直接享用這個(gè)巨大的、易操作的(語(yǔ)音操控)界面了。
7. Firebase 加入大家庭
谷歌于2014年收購(gòu)了Firebase,它很好地補(bǔ)充了谷歌的核心業(yè)務(wù),兩家公司都從對(duì)方的經(jīng)驗(yàn)及產(chǎn)品陣容中獲益不少。隨著Facebook宣布關(guān)閉Parse服務(wù),F(xiàn)irebase似乎遇到了一個(gè)千載難逢的、可以填補(bǔ)市場(chǎng)空白的好機(jī)會(huì),而谷歌似乎也很樂(lè)于這樣做。
此次,大多數(shù)改進(jìn)都涉及到了各個(gè)Firebase工具的整合,以及讓他們更好地融入谷歌的生態(tài)系統(tǒng)中。
這些改進(jìn)及工具包括應(yīng)用分析、崩潰報(bào)告、信息框架、用戶增長(zhǎng)工具等等。最重要的是,Android Studio 2.2會(huì)默認(rèn)啟用這些工具,這樣,你可以更方便地使用插件配置你的應(yīng)用程序及代碼,或者你也可以自己拖動(dòng)代碼片段。

基于現(xiàn)有的谷歌服務(wù),最有用的改進(jìn)之一是,利用AdMob平臺(tái),可以將Firebase數(shù)據(jù)導(dǎo)入BigQuery進(jìn)行分析,并且將賬單轉(zhuǎn)入谷歌的中央云計(jì)費(fèi)平臺(tái),這樣一來(lái),財(cái)會(huì)就變得更加容易。希望在此基礎(chǔ)上,谷歌和Firebase未來(lái)的聯(lián)系會(huì)更加緊密。
8. 由你來(lái)“命名”
谷歌宣稱,他們正在努力為N版本起個(gè)名字,他們已經(jīng)邀請(qǐng)大眾參與其中。我想人們可能會(huì)認(rèn)為這是一個(gè)蹩腳的宣傳噱頭,大多數(shù)提交的名字都會(huì)被忽略。但筆者相信總有人會(huì)脫穎而出,取出一個(gè)谷歌認(rèn)可的名字。
谷歌帶來(lái)的挑戰(zhàn)
呵! 真是一場(chǎng)盛事!看到這么多新功能的發(fā)布,筆者興奮不已;看到有更多的、更加完善的工具來(lái)實(shí)現(xiàn)這些功能,看到安卓/谷歌生態(tài)系統(tǒng)的不斷成熟與鞏固,筆者更是激動(dòng)。
眼看距離蘋果開(kāi)發(fā)者大會(huì)的時(shí)間不到一個(gè)月了,蘋果現(xiàn)在面臨著很大的壓力,如何給開(kāi)發(fā)者和消費(fèi)者一個(gè)類似的滿意答案。筆者懷疑蘋果是否可以做到。
本文系 OneAPM 工程師編譯整理。OneAPM Mobile Insight 以真實(shí)用戶體驗(yàn)為度量標(biāo)準(zhǔn)進(jìn)行 Crash 分析,監(jiān)控網(wǎng)絡(luò)請(qǐng)求及網(wǎng)絡(luò)錯(cuò)誤,提升用戶留存。訪問(wèn) OneAPM 官方網(wǎng)站感受更多應(yīng)用性能優(yōu)化體驗(yàn),想閱讀更多技術(shù)文章,請(qǐng)?jiān)L問(wèn) OneAPM 官方技術(shù)博客。
本文轉(zhuǎn)自 OneAPM 官方博客
原文鏈接:https://www.sitepoint.com/8-key-announcements-for-android-developers-at-google-io/