Tinker最簡單的集成

Tinker目前是熱修復(fù)最火熱的方案!關(guān)于Tinker的各種背景信息和介紹,請參考官網(wǎng)文檔:
Tinker官網(wǎng)介紹

1 接入

首先,在project下的build.gradle下添加tinker插件,如圖:

圖片.png

其次,在app中的bulid.gradle的dependencies中添加tinker SDK的依賴,如圖:


注意,若使用 annotation 自動(dòng)生成 Application, 需要單獨(dú)引入 Tinker 的 tinker-android-anno 庫佩脊。除此之外蹈胡,我們無需再單獨(dú)引入 tinker 的其他庫呜袁。一般來說,我們都有自定義的application,所以這個(gè)可以不用加.

2配置

首先,我們還需要給tinker本身寫添加配置,這個(gè)配置既可以寫在app下的build.gradle中,也可以自己寫一個(gè)tinkerpatch.gradle,為了項(xiàng)目本身結(jié)構(gòu)清晰化,我們選擇第二種方式,tinkerpatch.gradle的文件位置放在app目錄下,并且項(xiàng)目的簽名文件也放在app,便于后面做簽名配置,代碼如下:

Tinker SDK.png

圖片.png
tinkerpatch.gradle你可以直接點(diǎn)擊下載后copy到你的項(xiàng)目中,然后按照注釋更改信息就好.

其次,在app的build.gradle中添加apply from: 'tinkerpatch.gradle':

![圖片.png](http://upload-images.jianshu.io/upload_images/927828-401500daeb15047a.png?imageMogr2
/auto-orient/strip%7CimageView2/2/w/1240)
最后,在app的bulid.gradle中添加tinker的簽名配置:

圖片.png

3 application配置,初始化tinker

tinker的官方文檔中,說了關(guān)于application的集成,什么自動(dòng)不自動(dòng),說實(shí)在的,搞的我非常的懵逼!!!一般來說,tinker的集成都是后期,此時(shí)我們早已經(jīng)有了自定義的application,所以,我們按自定義的方式來就好!

圖片.png
FetchPatchHandler是每隔一段時(shí)間就去訪問平臺(tái),看看是否有新的補(bǔ)丁發(fā)布,代碼為,可點(diǎn)擊此處下載
圖片.png

4 測試

補(bǔ)丁發(fā)布我們就用TinkerPatch平臺(tái),內(nèi)含發(fā)布教程,將你創(chuàng)建的appKey配置到tinkerpatch.gradle中.

圖片.png

1在app啟動(dòng)后,MainActivity中打印一句話:


圖片.png

簽名打包安裝,運(yùn)行后如圖:

圖片.png

你會(huì)驚奇的發(fā)現(xiàn)app中build目錄下,多了個(gè)bakApk文件包,

圖片.png

app-1.0.0-0706-12-42-45這個(gè)文件夾并非空穴,她的命名有理可推的,其中1.0.0就是tinkerpatch.gradle中,appVersion的值,而0706-12-42-45為7月6日12點(diǎn)42分45秒,按時(shí)間生成的.而目錄下的app-release.apk就是正規(guī)的簽名包了,這個(gè)也是基礎(chǔ)包,可以直接發(fā)布使用.

注意,此處高能預(yù)警:
如果你發(fā)布的這個(gè)版本有bug需要修改,我們就需要這個(gè)基礎(chǔ)包信息,但bulid的內(nèi)容會(huì)根據(jù)編譯隨時(shí)自動(dòng)清空,當(dāng)你在修改這個(gè)bug的時(shí)候,需要在tinkerpatch.gradle中的baseInfo配置這個(gè)基礎(chǔ)包,最后編譯的時(shí)候build下沒有app-1.0.0-0706-12-42-45這個(gè)文件,就會(huì)報(bào)錯(cuò)!!!而且是必須為真,不能隨意替換改個(gè)名字敷衍,因?yàn)橐突A(chǔ)包對比改了什么.廢話說了這么多,一句話總結(jié):如果你正式版發(fā)布的這個(gè),你就需要備份!!!!備份!!!備份!!!,打補(bǔ)丁的時(shí)候再cp進(jìn)去.

好了,現(xiàn)在我們改變toast的內(nèi)容,

圖片.png

然后點(diǎn)擊AS編輯器右上角的gradle,雙擊tinkerPatchRelease:

圖片.png

如果簽名信息不成功,會(huì)報(bào)如下錯(cuò)誤:


圖片.png

如果基礎(chǔ)包配置信息錯(cuò)誤,也會(huì)報(bào)錯(cuò):

圖片.png

如果什么錯(cuò)都沒有,則會(huì)如圖生成一個(gè)補(bǔ)丁包:

圖片.png
,這個(gè)就是發(fā)布到平臺(tái)的補(bǔ)丁包.點(diǎn)擊發(fā)布,內(nèi)含發(fā)布教程,
發(fā)布成功后,多次啟動(dòng)app后會(huì)發(fā)現(xiàn)toast的內(nèi)容已經(jīng)改變:

圖片.png

TinkerPatch后臺(tái)的信息也顯示,下載成功且更新成功


圖片.png

好了,至此集成完成,項(xiàng)目源碼!
如果喜歡,請給個(gè)贊,謝謝!

更多問題加群:584275290

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末韩肝,一起剝皮案震驚了整個(gè)濱河市陪每,隨后出現(xiàn)的幾起案子逻澳,更是在濱河造成了極大的恐慌,老刑警劉巖蒜魄,帶你破解...
    沈念sama閱讀 206,602評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件扔亥,死亡現(xiàn)場離奇詭異,居然都是意外死亡谈为,警方通過查閱死者的電腦和手機(jī)旅挤,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,442評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來伞鲫,“玉大人粘茄,你說我怎么就攤上這事★跖В” “怎么了柒瓣?”我有些...
    開封第一講書人閱讀 152,878評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵,是天一觀的道長吠架。 經(jīng)常有香客問我芙贫,道長,這世上最難降的妖魔是什么诵肛? 我笑而不...
    開封第一講書人閱讀 55,306評(píng)論 1 279
  • 正文 為了忘掉前任屹培,我火速辦了婚禮,結(jié)果婚禮上怔檩,老公的妹妹穿的比我還像新娘褪秀。我一直安慰自己,他們只是感情好薛训,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,330評(píng)論 5 373
  • 文/花漫 我一把揭開白布媒吗。 她就那樣靜靜地躺著,像睡著了一般乙埃。 火紅的嫁衣襯著肌膚如雪闸英。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,071評(píng)論 1 285
  • 那天介袜,我揣著相機(jī)與錄音甫何,去河邊找鬼。 笑死遇伞,一個(gè)胖子當(dāng)著我的面吹牛辙喂,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播鸠珠,決...
    沈念sama閱讀 38,382評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼巍耗,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了渐排?” 一聲冷哼從身側(cè)響起炬太,我...
    開封第一講書人閱讀 37,006評(píng)論 0 259
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎驯耻,沒想到半個(gè)月后亲族,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,512評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡可缚,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,965評(píng)論 2 325
  • 正文 我和宋清朗相戀三年孽水,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片城看。...
    茶點(diǎn)故事閱讀 38,094評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡女气,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出测柠,到底是詐尸還是另有隱情炼鞠,我是刑警寧澤,帶...
    沈念sama閱讀 33,732評(píng)論 4 323
  • 正文 年R本政府宣布轰胁,位于F島的核電站谒主,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏赃阀。R本人自食惡果不足惜霎肯,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,283評(píng)論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧观游,春花似錦搂捧、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,286評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至搪柑,卻和暖如春聋丝,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背工碾。 一陣腳步聲響...
    開封第一講書人閱讀 31,512評(píng)論 1 262
  • 我被黑心中介騙來泰國打工弱睦, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人渊额。 一個(gè)月前我還...
    沈念sama閱讀 45,536評(píng)論 2 354
  • 正文 我出身青樓每篷,卻偏偏與公主長得像,于是被迫代替她去往敵國和親端圈。 傳聞我的和親對象是個(gè)殘疾皇子焦读,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,828評(píng)論 2 345

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

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 171,515評(píng)論 25 707
  • Tinker使用 前言 寫在前面的話,在上家公司一直在主導(dǎo)組件框架的開發(fā)舱权,所以對Android領(lǐng)域組件化矗晃,熱更新的...
    徐正峰閱讀 1,873評(píng)論 6 6
  • 前言 熱更新能力是Bugly為解決開發(fā)者緊急修復(fù)線上bug,而無需重新發(fā)版讓用戶無感知就能把問題修復(fù)的一項(xiàng)能力宴倍。B...
    Smile__EveryDay閱讀 24,826評(píng)論 31 19
  • Tinker介紹 Tinker是微信團(tuán)隊(duì)開源的Android熱修復(fù)工具张症,支持dex, library和resour...
    HolenZhou閱讀 4,093評(píng)論 4 15
  • 很倉促的參加了一次“四點(diǎn)半課堂”志愿活動(dòng)。作為一個(gè)初出茅廬的書法學(xué)習(xí)者鸵贬,我的內(nèi)心是忐忑的俗他。我在想,等到作品展出...
    迪公子閱讀 195評(píng)論 0 0