在項(xiàng)目中集成Freeline

什么是Freeline奔滑?

Freeline是由螞蟻聚寶Android團(tuán)隊(duì)開發(fā)的一款針對(duì)Android平臺(tái)的增量編譯工具酬土。它可以充分利用緩存文件璧坟,在幾秒鐘內(nèi)迅速地對(duì)代碼的改動(dòng)進(jìn)行編譯并部署到設(shè)備上嗡贺,有效地減少了日常開發(fā)中的大量重新編譯與安裝的耗時(shí)业舍。

怎么集成抖拦?
  • 第一步:先下載Freeline開源項(xiàng)目代碼
    freeline項(xiàng)目目錄.png

freeline工程主要分為三大模塊升酣,分別為:

runtime:這個(gè)模塊主要在java層執(zhí)行,主要的作用是在Application啟動(dòng)的時(shí)候重載ClassLoader态罪,插入dex拗踢,從而實(shí)現(xiàn)增量修改的目的。

freeline_code:python文件集合向臀,主要是掃描本地修改文件,執(zhí)行編譯壓縮傳輸文件等操作诸狭。

gardle工程:gradle插件工程券膀,主要實(shí)現(xiàn)下載freeline_code集合,更改打包步驟等操作驯遇。

  • 第二步:將freeline工程下面的【runtime】拷貝到自己的項(xiàng)目目錄下或通過(guò)Android Studio的Import Module方式導(dǎo)入到自己(我的項(xiàng)目名為:FreelineDemo)的項(xiàng)目中
    runtime目錄:


    runtime目錄.png

    自己的項(xiàng)目目錄


    Sample目錄.png

我這里把Freeline工程中的common芹彬、pure_java、resources叉庐、ThirdParty等幾個(gè)Module都一起導(dǎo)進(jìn)來(lái)了

  • 第三步:修改Sample目錄下的settings.gradle文件


    settings.png
  • 第四步:配置project-level的build.gradle舒帮,加入freeline-gradle的依賴


    sample_build.png
  • 第五步:在你的主module的build.gradle中,應(yīng)用freeline插件的依賴陡叠,具體參考Freeline項(xiàng)目中的Sample項(xiàng)目中的配置

修改完成后當(dāng)點(diǎn)擊Sync Project with Gradle Files 時(shí)會(huì)報(bào)一個(gè)異常

Gradle 'Sample' project refresh failed
Error:Could not get unknown property 'FREELINE_RELEASE_VERSION' for project ':runtime:runtime' of type org.gradle.api.Project.

    因?yàn)槟氵€沒(méi)定義FREELINE_RELEASE_VERSION
  • 第六步:在Sample目錄下找到gradle.properties文件并打開把FREELINE_RELEASE_VERSION=0.7.3.1 加上即可玩郊;0.7.3.1是Freeline中當(dāng)前版本號(hào),這時(shí)再點(diǎn)擊Sync Project with Gradle Files時(shí)就編譯通過(guò)了枉阵,但要使用Freeline快速編譯自己的項(xiàng)目還不夠

  • 第七步:在項(xiàng)目中創(chuàng)建一個(gè)Application類译红,并在AndroidManifest.xml中application節(jié)點(diǎn)修改 android:name=".GLAPP",GLAPP即為你創(chuàng)建的Application類名
    在onCreate()中添加FreelineCore.init(this);


    app加入初始化freeline.png
  • 第八步:在命令行執(zhí)行以下命令來(lái)下載 freeline 的 python 和二進(jìn)制依賴

Windows[CMD]: gradlew initFreeline
Linux/Mac: ./gradlew initFreeline

     cd FreelineDemo/sample
    ./gradlew initFreeline -Pmirror

顯示 BUILD SUCCESSFUL 就是下載成功了
這時(shí)Sample目錄中就多了freeline.py文件和freeline文件夾兴溜,就可以使用 python freeline.py 命令來(lái)編譯項(xiàng)目了

    ./gradlew -v 查看gradlew版本
   
    如果使用./gradlew命令報(bào)permission denied: ./gradlew異常時(shí)使用chmod +x gradlew修改權(quán)限命令即可 
 python freeline.py -f 整個(gè)項(xiàng)目編譯運(yùn)行
 python freeline.py 部分編譯運(yùn)行
 python freeline.py -v 查看freeline版本

常見(jiàn)問(wèn)題
我的項(xiàng)目

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末侦厚,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子拙徽,更是在濱河造成了極大的恐慌刨沦,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,406評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件膘怕,死亡現(xiàn)場(chǎng)離奇詭異想诅,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)岛心,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,395評(píng)論 3 398
  • 文/潘曉璐 我一進(jìn)店門侧蘸,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人鹉梨,你說(shuō)我怎么就攤上這事讳癌。” “怎么了存皂?”我有些...
    開封第一講書人閱讀 167,815評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵晌坤,是天一觀的道長(zhǎng)逢艘。 經(jīng)常有香客問(wèn)我,道長(zhǎng)骤菠,這世上最難降的妖魔是什么它改? 我笑而不...
    開封第一講書人閱讀 59,537評(píng)論 1 296
  • 正文 為了忘掉前任,我火速辦了婚禮商乎,結(jié)果婚禮上央拖,老公的妹妹穿的比我還像新娘。我一直安慰自己鹉戚,他們只是感情好鲜戒,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,536評(píng)論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著抹凳,像睡著了一般遏餐。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上赢底,一...
    開封第一講書人閱讀 52,184評(píng)論 1 308
  • 那天失都,我揣著相機(jī)與錄音,去河邊找鬼幸冻。 笑死粹庞,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的洽损。 我是一名探鬼主播信粮,決...
    沈念sama閱讀 40,776評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼趁啸!你這毒婦竟也來(lái)了强缘?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,668評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤不傅,失蹤者是張志新(化名)和其女友劉穎旅掂,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體访娶,經(jīng)...
    沈念sama閱讀 46,212評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡商虐,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,299評(píng)論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了崖疤。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片秘车。...
    茶點(diǎn)故事閱讀 40,438評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖劫哼,靈堂內(nèi)的尸體忽然破棺而出叮趴,到底是詐尸還是另有隱情,我是刑警寧澤权烧,帶...
    沈念sama閱讀 36,128評(píng)論 5 349
  • 正文 年R本政府宣布眯亦,位于F島的核電站伤溉,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏妻率。R本人自食惡果不足惜乱顾,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,807評(píng)論 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望宫静。 院中可真熱鬧走净,春花似錦、人聲如沸孤里。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,279評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)扭粱。三九已至,卻和暖如春震檩,著一層夾襖步出監(jiān)牢的瞬間琢蛤,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,395評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工抛虏, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留博其,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,827評(píng)論 3 376
  • 正文 我出身青樓迂猴,卻偏偏與公主長(zhǎng)得像慕淡,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子沸毁,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,446評(píng)論 2 359

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