lll

Android 官方在 2015/11/23 的 Android Dev Summit 中,發佈了Android Studio 2.0 Preview,其中有一項改變相信會讓眾多 Android 開發者眼睛為之一亮-Instant Run。

這個功能簡言之,就是快速建置與部署,廢話不多說,先來看看官方的示範影片:

[youtube]https://www.youtube.com/watch?v=AefJXhCxrK8[/youtube]

  • Instant Run

1.  更新專案

在 Android Studio 更新之後,從 Settings 的左視窗找到 Build, Execution, Deployment > Instant Run 可以看到如下畫面,

Instant_Run_First

如果這是一個尚未啟用 Instant Run 的專案,就會看到右上有個「Update Project」的選項,這是點擊後,專案進入進化狀態…

Instant_Run_Update_Project

轉換完成後,其實就外觀上來說,大概也看不出個所以然來…
如果真要說的話,就是執行時的 Run 圖示右下多了一個點

Instant_Run_normal

Instant_Run_running

在專案根目錄下的的 build.gradle 中 gradle  dependencies 改成了

m

以自己手邊的專案來說,在第一次或是 clean project 後的 build time 是比較長的,時間大概都和過去差不多,從 1m 52s 到 2m 57s 都有。不過,後續的小更新,比方說,在程式或是介面中做了點小調整,時間大概都在 3s 內,算是大輻的降低開發者的等待時間。

至於 Instant Run 所支援的層面,根據官方文件裡提到的部份大概就是,微調介面以及程式碼是沒有問題的,這個在 Android Dev Summit 中的試範中,發揮的淋漓盡致。

若是新增、刪除以及修改 resource 的 string,雖然 Instant Run 有支援,但會重啟 activity。至於其他還有很多狀況,根據文件裡的條列是不支援的,但平均來說,build time 是有降低的。

另外,值得一提的是,activity 不是每一次都需要被重新啟動,大致上狀況就如上一段所寫到的。而若是希望每次都重啟 activity,可以自行到設定 (如下圖),
Instant_Run_Options

將「Restart activity on code changes」勾選起來,不然,系統也會跳出提示 XD

Instant_Run_Run_Notice_Restart_Activity

有個貼心的選項是「Show toasts in the running app when changes are applied.」是用在,開發者自己搞不太清楚,到底是否有更新時 (因為不見得會重啟),會跳出提示文字。

Instant_Run_Options_ShowToasts

還有一個是值得一提的是,若這次的 build,程式碼沒有任何變動的話,系統也會跳出提示告知。

Instant_Run_Run_Notice_No_Change

  • 已知的問題

當然,這個部份也是大家相當關心的 XD

1. DexForDebug

  1. 將 minSdkVersion 改成 21
  2. 或是將專案根目錄下 build.gradle 的 gradle dependency 改回
    classpath ‘com.android.tools.build:gradle:1.3.0’ ,當然,這樣就沒有 Instant Run 的能力了 XDD
  3. 等官方釋出新的版本 (被打)

2. xml 在輸入等於後,不會自動產生雙引號 (“)。

  • 後話

雖然是還未正式釋出的 preview 版,但 Instant Run 呈如其字面上的意思,瞬間 (快速) 執行,算是大大的改善過去 Android Studio 一直讓所有開發者詬病的編譯緩慢現象。雖然說剛好可以站起來休息個兩到三分鐘,但每次的小修改也都這樣的話,那還真的是…強化耐心修行好工具啊 (茶~

延伸閱讀:運作速度快上 500%,Google 給 App 開發者帶來一項新福利

(本文轉自莫希爾手札,未經授權不得轉載)