1. 程式人生 > >Androidstudio 編譯慢 這樣的體驗肯定很多人都有!!!

Androidstudio 編譯慢 這樣的體驗肯定很多人都有!!!

specific software del con 緩解 tty 新的 debug 如果

本人也是經歷過的 在老板站在你身後 說看下你做的東西怎麽樣啦 然後你開始編譯你剛寫代碼 然後過了老長一段時間 你默默的拿起水來喝 緩解尷尬 boss一直站在後面 忍不住來了句 還沒好嗎? 以上所以就記錄下

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實現工程秒級編譯

三、其它方法

1.在C:\Users\{用戶名}\.gradle下創建gradle.properties文件

文件內容:

org.gradle.daemon=true
org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
org.gradle.parallel=true
org.gradle.configureondemand=true

如圖:

技術分享


2.打開Android Studio,選擇菜單項 File->Settings,把 Offline Work打上勾。


再按照圖中標註操作


最後,保存,並重新打開Android Studio.你現在Gradle應該有了很大的提升。


然後配置--profile,生成profile報告,分析慢的原因,


http://liaohuqiu.net/posts/speed-up-your-build/ 講了慢分析原因

Androidstudio 編譯慢 這樣的體驗肯定很多人都有!!!