Android 平臺上的秒級編譯方案 - Freeline
Freeline是什么?
Freeline是螞蟻金服旗下一站式理財平臺螞蟻聚寶團隊15年10月在Android平臺上的量身定做的一個基于動態替換的編譯方案,5月阿里集團內部開源,穩定性方面:完善的基線對齊,進程級別異常隔離機制。性能方面:內部采用了類似非死book的開源工具buck的多工程多任務并發思想:端口掃描,代碼掃描,并發編譯,并發dx,并發merge dex等策略,在多核機器上有明顯加速效果,另外在class及dex,resources層面作了相應緩存策略,做到真正增量開發,另外引入并優化buck的部分加速組件dx,DexMerger,資源編譯方面,深入改造了Aapt資源編譯流程,當資源發生改變時候,秒級完成增量包編譯,其中增量包僅含最小的變更集合(10Kb~數百Kb內),后期也被運用到線上進行資源/代碼動態替換。相比目前instant-run,buck,layoutcast等方案快數倍速度。
使用教程
-
配置
project-build.gradle:
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.antfortune.freeline:gradle:0.8.6'
}
}
module’s build.gradle:
apply plugin: 'com.antfortune.freeline'
注:以上配置只是追加上去就行,不用把gradle相關的去除。
dependencies {
debugCompile 'com.antfortune.freeline:runtime:0.8.6'
releaseCompile 'com.antfortune.freeline:runtime-no-op:0.8.6'
testCompile 'com.antfortune.freeline:runtime-no-op:0.8.6'
}
android {
…
freeline {
hack true
productFlavor "znds"
autoDependency false
}
}
-
插件安裝
studio中安裝插件:Freeline Plugin。安裝后工具欄,如圖:
-
代碼植入
Application中植入代碼:
public void onCreate() {
FreelineCore.init(this);
super.onCreate();
…
}
之后,點擊工具欄上的那個藍色按鈕,就可以運行項目了。
參考資料:
Freeline - Android平臺上的秒級編譯方案 —— https://yq.aliyun.com/articles/59122
來自:http://blog.csdn.net/jjwwmlp456/article/details/59109851
本文由用戶 hihihi222 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!