Freeline加快Android Studio編譯速度

本文只是對Freeline 官方使用說明文檔的一些細節的補充,大部分使用說明是直接Copy過來的。

Freeline是由螞蟻聚寶Android團隊開發的一款針對Android平臺的增量編譯工具。它可以充分利用緩存文件,在幾秒鐘內迅速地對代碼的改動進行編譯并部署到設備上,有效地減少了日常開發中的大量重新編譯與安裝的耗時。
雖然Android Studio的Instant Run也能加快項目的編譯速度,但就目前來看,它還存在一些問題,有時編譯會很慢,甚至卡死。Freeline相比Instant Run編譯速度更快也更穩定,Freeline編譯原理詳情可以看原理說明

一.配置工程

配置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,這樣就會從國內鏡像地址來下載。
你也可以使用參數-PfreelineVersion={your-specific-version}來下載特定版本的 freeline 依賴。

如果你的工程結構較為復雜,在第一次使用freeline編譯的時候報錯了的話,你可以添加一些freeline提供的配置項,來適配你的工程。在moudle的gradle文件增加如下代碼

freeline {
    hack true
    productFlavor 'your-flavor'
    //.....其他配置項
}

配置項具體可以看Freeline DSL References

二.執行編譯

方法一:通過Android Studio插件Freeline來編譯

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

直接點擊 Run Freeline的按鈕,就可以享受Freeline帶來的開發效率的提升啦(當然,你可能會先需要一個較為耗時的全量編譯過程)。在Freeline工具欄和Build選項里的Freeline還可以以-d-f方式執行編譯。
插件也會提示你Freeline最新的版本是多少,你也可以通過插件來對Freeline進行更新。

方法二:直接在命令行執行python腳本來編譯
  • python freeline.py 正常模式編譯
  • python freeline.py -d 調試模式編譯
  • python freeline.py -f 全量編譯,就是整個工程重新編譯

由于編譯使用的是python腳本,所以要安裝Python環境并設置環境變量,否則會提示command python not found。只支持Python 3.0以下環境。

如果項目被Freeline編譯后,想使用Android Studio自帶的編譯去編譯項目,啟動應用時可能會發生閃退,這時候只需要先clean一下項目再編譯項目,就不會發生閃退了。

補充:類似的插件還有JRebel,也很好用,但它是收費的。

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

推薦閱讀更多精彩內容