阿里Atlas淘寶動(dòng)態(tài)組件化框架詳細(xì)攻略

前言:

  • 在上周了解一些關(guān)于插件更新的技術(shù)院崇,發(fā)現(xiàn)阿里將要開源一款可以用于組件化的Atlas框架。前兩天發(fā)現(xiàn)已經(jīng)開源了陵叽,真是驚喜無比在這里感謝阿里的開源精神媳友。

提示:

1贼穆、最近Atlas官方更新了Demo
2题山、以下教程只針對(duì)老版本Demo
3、新版本的使用教程我就不寫了故痊,這里我提供一個(gè)我自己寫的簡(jiǎn)化版本Demo顶瞳,該有的功能都有也都加了注釋,可以很方便的運(yùn)用到項(xiàng)目當(dāng)中: 組件框架Demo下載
<br />

簡(jiǎn)介:

先說下功能:
  • 插件化開發(fā)愕秫,宿主與插件獨(dú)立開發(fā)慨菱。
  • 插件動(dòng)態(tài)更新修復(fù)能力,快速升級(jí)戴甩。

<br />

使用到的項(xiàng)目atlas-demo

最上層
Demo里分為兩個(gè)項(xiàng)目

重要:

  • app:相當(dāng)于宿主(宿主依賴插件的方式暫時(shí)是通過maven來進(jìn)行依賴符喝,compile project本地依賴方式需要等到2.3.0 的版本)。
  • FirstBundle:相當(dāng)于插件(每次修改完成需要提交到maven甜孤,再讓宿主依賴實(shí)現(xiàn)插件獨(dú)立)协饲。
  • 也就是說宿主與插件的依賴方式是通過遠(yuǎn)程調(diào)用來達(dá)成的,從而達(dá)到組件獨(dú)立開發(fā)缴川。

<br />

注意的事項(xiàng):

  • JDK請(qǐng)使用1.8版本茉稠。
  • 如果卡在構(gòu)建界面,查看下是否下載了對(duì)應(yīng)的gradle-2.14.1版本把夸,gradle3.3版本暫時(shí)還不支持而线。
  • 更新下最新的Demo,之前的Demo會(huì)有找不到dom4j等一些問題扎即。
    <br />

操作說明:

一:插件FirstBundle

1、打開FirstBundle提交默認(rèn)版本到本地maven况凉,比如修改為1.1.4

通過命令 gradlew clean assembleRelease publishMavenPublicationToMavenLocal

2. 修改build.gradle

修改版本號(hào)谚鄙,并修改FirstBundleActivity(暫時(shí)不支持新增Activity)


修改版本號(hào)
3. 編譯提交1.1.5到本地maven

通過命令 gradlew clean assembleRelease publishMavenPublicationToMavenLocal

<br />

二:生成宿主APP

1. 修改版本

對(duì)應(yīng)FirstBundle未做修改的 1.1.4版本。


初始包版本號(hào)配置
2. 配置的插件位置

依賴FirstBundle刁绒,version需要對(duì)應(yīng)本地maven插件的版本號(hào)闷营。


初始包插件修改位置
3. 通過sh buildApk.sh編譯

編譯出初始版本宿主Apk(宿主里已經(jīng)包含了FirstBundle),在安裝到手機(jī)里。
如果不想使用sh命令傻盟,可以通過gradlew clean assembleDebug publish編譯出初始包速蕊。

<br />

三、升級(jí)宿主App版本娘赴,生成差異補(bǔ)丁

1. 修改版本號(hào)

這里的1.1.5就是我修改好后上傳maven的FirstBundle項(xiàng)目规哲。


升級(jí)版本 修改版本號(hào)
2. 通過 sh buildTpatch.sh編譯
  • 編譯出差異包patch-1.1.5@1.1.4.tpatch與更新文件update.json
  • 差異包生成位置:atlas-demo\app\build\outputs\tpatch-debug
  • 如果不想使用sh命令,可以通過:gradlew clean assembleDebug -DapVersion=1.1.4 -DversionName=1.1.5 編譯(apVersion對(duì)應(yīng)之前打的初始包版本號(hào)诽表,versionName對(duì)應(yīng)更新后的版本號(hào))唉锌。

<br />

四:導(dǎo)入補(bǔ)丁到sd卡

  • 宿主Demo里取這兩個(gè)補(bǔ)丁文件的地址是(SD卡/Android/data/項(xiàng)目名稱/cache/目錄下)當(dāng)然也可以自己去修改。
  • 把剛才生成的兩個(gè)文件放入到配置的目錄下竿奏。
  • 打開應(yīng)用點(diǎn)擊動(dòng)態(tài)部署(如果沒有意外的話就可以看到請(qǐng)重啟App)

<br />

題外話:

  • sh命令需要下載Git并配置環(huán)境變量
  • gradlew命令需要下載對(duì)應(yīng)得gradlew版本
  • 我上面的命令操作都是通過Terminal操作的

<br />

總結(jié)

剛才開始無從下手袄简,只能通過查看源碼慢慢理解。對(duì)初學(xué)的開發(fā)者并不友好泛啸,所以寫了這篇文章作為操作說明绿语,希望能幫助小伙伴快速入門。
<br /><br />

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末候址,一起剝皮案震驚了整個(gè)濱河市吕粹,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌宗雇,老刑警劉巖昂芜,帶你破解...
    沈念sama閱讀 206,482評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異赔蒲,居然都是意外死亡泌神,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,377評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門舞虱,熙熙樓的掌柜王于貴愁眉苦臉地迎上來欢际,“玉大人,你說我怎么就攤上這事矾兜∷鹎鳎” “怎么了?”我有些...
    開封第一講書人閱讀 152,762評(píng)論 0 342
  • 文/不壞的土叔 我叫張陵椅寺,是天一觀的道長(zhǎng)浑槽。 經(jīng)常有香客問我,道長(zhǎng)返帕,這世上最難降的妖魔是什么桐玻? 我笑而不...
    開封第一講書人閱讀 55,273評(píng)論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮荆萤,結(jié)果婚禮上镊靴,老公的妹妹穿的比我還像新娘铣卡。我一直安慰自己,他們只是感情好偏竟,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,289評(píng)論 5 373
  • 文/花漫 我一把揭開白布煮落。 她就那樣靜靜地躺著,像睡著了一般踊谋。 火紅的嫁衣襯著肌膚如雪蝉仇。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,046評(píng)論 1 285
  • 那天褪子,我揣著相機(jī)與錄音量淌,去河邊找鬼。 笑死嫌褪,一個(gè)胖子當(dāng)著我的面吹牛呀枢,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播笼痛,決...
    沈念sama閱讀 38,351評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼裙秋,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了缨伊?” 一聲冷哼從身側(cè)響起摘刑,我...
    開封第一講書人閱讀 36,988評(píng)論 0 259
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎刻坊,沒想到半個(gè)月后枷恕,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,476評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡谭胚,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,948評(píng)論 2 324
  • 正文 我和宋清朗相戀三年徐块,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片灾而。...
    茶點(diǎn)故事閱讀 38,064評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡胡控,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出旁趟,到底是詐尸還是另有隱情昼激,我是刑警寧澤,帶...
    沈念sama閱讀 33,712評(píng)論 4 323
  • 正文 年R本政府宣布锡搜,位于F島的核電站橙困,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏耕餐。R本人自食惡果不足惜凡傅,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,261評(píng)論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望蛾方。 院中可真熱鬧像捶,春花似錦、人聲如沸桩砰。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,264評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽亚隅。三九已至硼莽,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間煮纵,已是汗流浹背懂鸵。 一陣腳步聲響...
    開封第一講書人閱讀 31,486評(píng)論 1 262
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留行疏,地道東北人匆光。 一個(gè)月前我還...
    沈念sama閱讀 45,511評(píng)論 2 354
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像酿联,于是被迫代替她去往敵國(guó)和親终息。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,802評(píng)論 2 345

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

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理贞让,服務(wù)發(fā)現(xiàn)周崭,斷路器,智...
    卡卡羅2017閱讀 134,599評(píng)論 18 139
  • 1.框架的選擇:本次選擇的插件化框架在經(jīng)過數(shù)次比較之后選擇了國(guó)產(chǎn)大神開發(fā)的目前在市場(chǎng)上較為流行的small插件化框...
    鳳天凌閱讀 3,513評(píng)論 8 11
  • 1.步數(shù)達(dá)1萬喳张。為了緊致有型的身材续镇!實(shí)際步數(shù):。 2.做早餐销部,配圖上傳摸航。 3.一幅攝影作品,配文字上傳柴墩。 4.寫晨...
    在裝翅膀的豬閱讀 116評(píng)論 0 0
  • 最近開始學(xué)Python的爬蟲忙厌,是在這個(gè)博客跟著學(xué)習(xí)的,該博主用的是Python 2.7版本江咳,而我使用的是3.5版本...
    sunhaiyu閱讀 9,281評(píng)論 10 54
  • 我自認(rèn)為我不是一個(gè)矯情的人逢净,可到了這個(gè)時(shí)候也忍不住回頭看幾眼,嘆聲氣歼指,我想一定在這個(gè)屬于即將畢業(yè)的學(xué)生來說爹土,是大部...
    LIU大頭閱讀 251評(píng)論 0 0