[Android]如何做一個崩潰率少于千分之三噶應(yīng)用app(5)-極速增量編譯

以下是我這個系列的相關(guān)文章,有興趣可以參考一下嗡害,可以給個喜歡或者關(guān)注我的文章妈橄。

[Android]如何做一個崩潰率少于千分之三噶應(yīng)用app--章節(jié)列表


我建立了一個關(guān)于Android架構(gòu)學(xué)習(xí)的群,里面可以進(jìn)一步進(jìn)行組件化學(xué)習(xí)的交流鼻吮。

群號是316556016车吹,也可以掃碼進(jìn)群筹裕。我在這里期待你們的加入!U浴朝卒!


如果大家有關(guān)注我,看到我這系列第三和第四篇文章的話乐埠,會看到我介紹的FaceBook的Buck編譯扎运,Buck編譯是可以加速首次編譯和之后的增量編譯的。

但是近來我又發(fā)現(xiàn)饮戳,一種新的增量編譯速度比instance run縮短了5倍以上,就系阿里開發(fā)的Freeline洞拨。


FreeLine真正的優(yōu)勢在于

1.真增量扯罐,構(gòu)建過程快且增量包體積小,極大提升更改代碼部署到手機(jī)速度烦衣,較Android studio2.0及 LayoutCast快3~5倍

2.跨平臺Linux歹河,mac掩浙,windows

3.全版本覆蓋 2.x ~ 6.x版本均支持

4.部署流程簡化,更改代碼后秸歧,構(gòu)建過程中厨姚,與手機(jī)建立了tcp長連接,一行命令即可完成增量部署键菱,毋需到各自子bundle所在的目錄構(gòu)建完成后再進(jìn)入portal/launcher進(jìn)行打包再安裝到手機(jī)的過程

5.事務(wù)支持谬墙,在開發(fā)過程引入的異常不會破壞工作空間

6.無縫支持mPass,解決了類似maven各個節(jié)點(diǎn)需merge合并等與常規(guī)開發(fā)流程不一致的問題

7.進(jìn)程級別異常隔離,開發(fā)體驗(yàn)持續(xù)穩(wěn)定


支持增量編譯的范圍


配置方式

1.工程主build.gradle添加

2.需要編譯的項(xiàng)目的build.gradle里添加依賴


3.需要運(yùn)行./gradlew initFreeline -Pmirror的命令

4.Application 的onCreate的代碼需要添加 FreelineCore.init(this);

5.(1)可以添加android studio的插件在

Preferences → Plugins → Browse搜索freeline

? ?(2)可以使用命令行運(yùn)行

./gradlew initFreeline

python freeline.py


這里是躺過的一些坑

1.這是基于Python編寫的经备,所以只能運(yùn)行于舊版本,例如2.7版本的python侵蒙,新版本運(yùn)行的時候會提示運(yùn)行失敗的造虎。所以安裝3.5版本的,可以再安裝一個舊版本纷闺,然后配置環(huán)境變量

2.如果是使用MultiDex的話算凿,需要在Application的attachBaseContext函數(shù)里面,super之后立刻添加MultiDex.install的函數(shù)犁功,這樣會絕大的減少class not found 的情況

3.Xml注釋的時候不能出現(xiàn)例如<!-- /***? abc? ***/--> 這樣的注釋(里面/** **/的注釋號是多余的氓轰,要去掉),否則會運(yùn)行出錯波桩。

4.Freeline編譯只能增快增量編譯戒努,如果手機(jī)已經(jīng)安裝了原來的應(yīng)用,需要安裝一次Freeline編譯的應(yīng)用(第一次編譯的時間是gradle編譯的正常速度)镐躲,不然之后用Freeline編譯的增量編譯會是無效的储玫。

使用體驗(yàn)后,相比于Buck萤皂,F(xiàn)reeline不需要過多修改原有的的代碼(Buck里面如果充斥著switch case的語句將會是噩夢)撒穷,增量編譯的速度也比Buck快,所以只需要忍受第一次編譯比較緩慢裆熙。

想要了解相關(guān)的原理和分析端礼,還是進(jìn)入官網(wǎng)的介紹Freeline詳細(xì)原理介紹

如果試用后出現(xiàn)特別的問題,歡迎一起討論


*2016.11.14更新

發(fā)現(xiàn)如果創(chuàng)建布局入录,還有同時修改代碼蛤奥,有可能編譯fail

這時候最好使用./gradlew initFreeline -f這個命令,重新全編一次是否還有問題僚稿。


*2016.11.25更新

在freeline.py文件里面凡桥,可以看到freeline的各種命令,只要加入這些后綴就可以運(yùn)行了蚀同。(例如python freeline.py -f)

意思英文也解析得很清楚缅刽,這里就不作進(jìn)一步解析啦啊掏。


*2017.1.4更新

有人反饋遇到這樣的問題,編譯不過

將這個換成22就可以編譯通過了衰猛。


*2019.2.13

freeline現(xiàn)在已經(jīng)不更新了迟蜜,說一下現(xiàn)在的一些瓶頸問題

1.freeline不支持大部分的編譯時注解工具,只支持databinding和dagger啡省,在現(xiàn)在很多工程都使用編譯時注解工具的情況將會如雞肋娜睛。編譯時注解如果沒檢測緩存的情況下會一直要求全編的,很影響編譯速度冕杠。

2.freeline不支持kotlin編譯微姊,可以試著自己適配,網(wǎng)上有參考的文章分预。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末兢交,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子笼痹,更是在濱河造成了極大的恐慌配喳,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,265評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件凳干,死亡現(xiàn)場離奇詭異晴裹,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)救赐,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,078評論 2 385
  • 文/潘曉璐 我一進(jìn)店門涧团,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人经磅,你說我怎么就攤上這事泌绣。” “怎么了预厌?”我有些...
    開封第一講書人閱讀 156,852評論 0 347
  • 文/不壞的土叔 我叫張陵阿迈,是天一觀的道長。 經(jīng)常有香客問我轧叽,道長苗沧,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,408評論 1 283
  • 正文 為了忘掉前任炭晒,我火速辦了婚禮待逞,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘网严。我一直安慰自己识樱,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,445評論 5 384
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著牺荠,像睡著了一般。 火紅的嫁衣襯著肌膚如雪驴一。 梳的紋絲不亂的頭發(fā)上休雌,一...
    開封第一講書人閱讀 49,772評論 1 290
  • 那天,我揣著相機(jī)與錄音肝断,去河邊找鬼杈曲。 笑死,一個胖子當(dāng)著我的面吹牛胸懈,可吹牛的內(nèi)容都是我干的担扑。 我是一名探鬼主播,決...
    沈念sama閱讀 38,921評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼趣钱,長吁一口氣:“原來是場噩夢啊……” “哼涌献!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起首有,我...
    開封第一講書人閱讀 37,688評論 0 266
  • 序言:老撾萬榮一對情侶失蹤燕垃,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后井联,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體卜壕,經(jīng)...
    沈念sama閱讀 44,130評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,467評論 2 325
  • 正文 我和宋清朗相戀三年烙常,在試婚紗的時候發(fā)現(xiàn)自己被綠了轴捎。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,617評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡蚕脏,死狀恐怖侦副,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情蝗锥,我是刑警寧澤跃洛,帶...
    沈念sama閱讀 34,276評論 4 329
  • 正文 年R本政府宣布,位于F島的核電站终议,受9級特大地震影響汇竭,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜穴张,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,882評論 3 312
  • 文/蒙蒙 一细燎、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧皂甘,春花似錦玻驻、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,740評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽户辫。三九已至,卻和暖如春嗤锉,著一層夾襖步出監(jiān)牢的瞬間渔欢,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,967評論 1 265
  • 我被黑心中介騙來泰國打工瘟忱, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留奥额,地道東北人。 一個月前我還...
    沈念sama閱讀 46,315評論 2 360
  • 正文 我出身青樓访诱,卻偏偏與公主長得像垫挨,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子触菜,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,486評論 2 348

推薦閱讀更多精彩內(nèi)容