Android Studio加速編譯方法匯總

一、JRebel for Android

JRebel for Android 是一個Android Studio的插件,可以大大加速Android Studio的編譯速度,對于小項目來說或許不明顯;但是當項目達到一定的規模時,它對于Android Studio烏龜般的編譯速度有非常大的改善。

JRebel for Android使得每次改動代碼后,不需要重新安裝新的 apk;而是在安裝完一次應用后,通過增量包傳遞到設備或者模擬器上,并且能夠在應用運行時進行更新。

據說JRebel比Instant Run快了8倍,詳情可查看官方介紹

1. 安裝

你可以直接點擊IDE的 Plugins -> Browse Repositories -> 輸入JRebel for Android來搜索和安裝插件。

如果因為某些原因你無法訪問 maven 的公有倉庫,你可以直接在JetBrians官網下載,然后通過 Plugins > Install plugin from disk… 來安裝插件。

當你安裝完插件后,你需要重啟Android Studio,在重啟之后,你需要提供你的姓名和郵箱來得到JRebel for Android的21天免費使用(JRebel 是收費的,個人用戶每年要 49 美元,但是據說21 天到期之后你可以重新注冊,據說官方對郵件沒有驗證,由于我暫未使用到21天,所以暫時未知,感興趣的你可以下載試試)。

2. 使用

重啟Android Studio,會發現在頂部工具欄出現如下三個按鈕:

從左到右分別是:

  • Run app with JRebel for Android
  • Debug app with JRebel for Android
  • Apply changes with JRebel for Android

一般我們只需要第一次安裝的時候使用第一個按鈕運行一次,之后代碼變動,只需要點擊第三個按鈕,你的真機或者模擬器很快就展示出來修改代碼之后的效果。

3. 參考資料

[譯] 怎樣用 JRebel for Android
ANDROID 高效調試神器 JREBEL

二、Freeline

Freeline是由螞蟻聚寶Android團隊開發的一款針對Android平臺的增量編譯工具。它可以充分利用緩存文件,在幾秒鐘內迅速地對代碼的改動進行編譯并部署到設備上,有效地減少了日常開發中的大量重新編譯與安裝的耗時。

1. 配置

配置project-level的build.gradle,加入freeline-gradle的依賴:

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.antfortune.freeline:gradle:0.8.2'
    }
}

然后,在你的主module的build.gradle中,應用freeline插件的依賴:

apply plugin: 'com.antfortune.freeline'

android {
    ...
}

最后,在命令行執行以下命令來下載 freeline 的 python 和二進制依賴。

  • Windows[CMD]: gradlew initFreeline
  • Linux/Mac: ./gradlew initFreeline

對于國內的用戶來說,如果你的下載的時候速度很慢,你也可以加上參數,執行gradlew initFreeline -Pmirror,這樣就會從國內鏡像地址來下載,命令即為:

  • Windows[CMD]: gradlew initFreeline -Pmirror
  • Linux/Mac: ./gradlew initFreeline -Pmirror

你也可以使用參數-PfreelineVersion={your-specific-version}來下載特定版本的 freeline 依賴。

如果你的工程結構較為復雜,在第一次使用freeline編譯的時候報錯了的話,你可以添加一些freeline提供的配置項,來適配你的工程。具體可以看Freeline DSL References

2. 使用

Freeline最快捷的使用方法就是直接安裝Android Studio插件。

在Android Studio中,通過以下路徑PreferencesPluginsBrowse repositories,搜索“freeline”,并安裝。

直接點擊Run Freeline的按鈕,就可以享受Freeline帶來的開發效率的提升啦(當然,你可能會先需要一個較為耗時的全量編譯過程)。

插件也會提示你Freeline最新的版本是多少,你也可以通過插件來對Freeline進行更新。

3. 參考資料

Freeline官方文檔
AndroidStudio Freeline實現工程秒級編譯

三、其它方法

其實Android Studio的官方文檔就有關于優化編譯速度的配置方法:

網上也有不少關于加速編譯的資料:

但是經過實踐,要不是配置麻煩,就是效果不佳,目前來看,還是JRebel的配置最簡單,使用效果最好,如果你有更好的加速方法,歡迎留言交流。

PS:歡迎關注SherlockShi博客

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容