Freeline是什么叛买?
Freeline是螞蟻聚寶團隊15年10月在Android平臺上的量身定做的一個基于動態(tài)替換的編譯方案豺妓,5月阿里集團內(nèi)部開源惜互,穩(wěn)定性方面:完善的基線對齊,進程級別異常隔離機制琳拭。性能方面:內(nèi)部采用了類似Facebook的開源工具buck的多工程多任務(wù)并發(fā)思想:端口掃描训堆,代碼掃描,并發(fā)編譯白嘁,并發(fā)dx坑鱼,并發(fā)merge dex等策略,在多核機器上有明顯加速效果絮缅,另外在class及dex,resources層面作了相應(yīng)緩存策略鲁沥,做到真正增量開發(fā),另外引入并優(yōu)化buck的部分加速組件dx盟蚣,DexMerger黍析,資源編譯方面,深入改造了Aapt資源編譯流程屎开,當(dāng)資源發(fā)生改變時候,秒級完成增量包編譯,其中增量包僅含最小的變更集合(10Kb~數(shù)百Kb內(nèi))奄抽,后期也被運用到線上進行資源/代碼動態(tài)替換蔼两。相比目前instant-run,buck逞度,layoutcast等方案快數(shù)倍速度额划。
開源地址:https://github.com/alibaba/freeline
1、配置project-level的build.gradle档泽,加入freeline-gradle的依賴:
首先俊戳,在你的電腦裝上python(2.7.+版本,記得配置環(huán)境變量馆匿,自行搜索方法)
其次抑胎,在你的項目的build.gradle中:
classpath'com.antfortune.freeline:gradle:0.8.1'
然后,在你的主medule的build.gradle中:
apply plugin:'com.antfortune.freeline'
最后渐北,在命令行執(zhí)行以下命令來下載 freeline 的 python 和二進制依賴:
Windows[CMD]: gradlew initFreeline
Linux/Mac: ./gradlew initFreeline
ps:如果mac提示./gradlew: Permission denied阿逃,請先執(zhí)行:chmod +x gradlew;
對于國內(nèi)的用戶來說,如果你的下載的時候速度很慢赃蛛,你也可以加上參數(shù)恃锉,執(zhí)行g(shù)radlew initFreeline -Pmirror,這樣就會從國內(nèi)鏡像地址來下載呕臂。
你也可以使用參數(shù)-PfreelineVersion={your-specific-version}來下載特定版本的 freeline 依賴破托。
2、使用方式:
a歧蒋、執(zhí)行:python freeline.py
b土砂、Freeline最快捷的使用方法就是直接安裝Android Studio插件。
在Android Studio中疏尿,通過以下路徑Preferences → Plugins → Browse repositories瘟芝,搜索“freeline”,并安裝褥琐。