最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

微信Android熱更新Tinker使用詳解(星空武哥)

 更新時間:2017年09月03日 14:05:41   作者:星空武哥  
Tinker是微信官方的Android熱補丁解決方案,它支持動態(tài)下發(fā)代碼、So庫以及資源,讓應(yīng)用能夠在不需要重新安裝的情況下實現(xiàn)更新。當然,你也可以使用Tinker來更新你的插件

Tinker是什么

Tinker是微信官方的Android熱補丁解決方案,它支持動態(tài)下發(fā)代碼、So庫以及資源,讓應(yīng)用能夠在不需要重新安裝的情況下實現(xiàn)更新。當然,你也可以使用Tinker來更新你的插件。

它主要包括以下幾個部分:
gradle編譯插件: tinker-patch-gradle-plugin
核心sdk庫: tinker-android-lib
非gradle編譯用戶的命令行版本: tinker-patch-cli.jar

為什么使用Tinker

當前市面的熱補丁方案有很多,其中比較出名的有阿里的AndFix、美團的Robust以及QZone的超級補丁方案。但它們都存在無法解決的問題,這也是正是我們推出Tinker的原因。

總的來說:

AndFix作為native解決方案,首先面臨的是穩(wěn)定性與兼容性問題,更重要的是它無法實現(xiàn)類替換,它是需要大量額外的開發(fā)成本的;
Robust兼容性與成功率較高,但是它與AndFix一樣,無法新增變量與類只能用做的bugFix方案;
Qzone方案可以做到發(fā)布產(chǎn)品功能,但是它主要問題是插樁帶來Dalvik的性能問題,以及為了解決Art下內(nèi)存地址問題而導(dǎo)致補丁包急速增大的。
特別是在android N之后,由于混合編譯的inline策略修改,對于市面上的各種方案都不太容易解決。而Tinker熱補丁方案不僅支持類、So以及資源的替換,它還是2.X-7.X的全平臺支持。利用Tinker我們不僅可以用做bugfix,甚至可以替代功能的發(fā)布。Tinker已運行在微信的數(shù)億Android設(shè)備上,那么為什么你不使用Tinker呢?

Tinker的已知問題

由于原理與系統(tǒng)限制,Tinker有以下已知問題:
Tinker不支持修改AndroidManifest.xml,Tinker不支持新增四大組件;
由于Google Play的開發(fā)者條款限制,不建議在GP渠道動態(tài)更新代碼;
在Android N上,補丁對應(yīng)用啟動時間有輕微的影響;
不支持部分三星android-21機型,加載補丁時會主動拋出"TinkerRuntimeException:checkDexInstall failed";
由于各個廠商的加固實現(xiàn)并不一致,在1.7.6以及之后的版本,tinker不再支持加固的動態(tài)更新;
對于資源替換,不支持修改remoteView。例如transition動畫,notification icon以及桌面圖標。

如何使用Tinker

下面就一BuglyTinker的使用方式進行介紹
為什么使用Bugly熱更新?
因為bugly已經(jīng)集成了tinker
無需關(guān)注Tinker是如何合成補丁的
無需自己搭建補丁管理后臺
無需考慮后臺下發(fā)補丁策略的任何事情
無需考慮補丁下載合成的時機,處理后臺下發(fā)的策略
我們提供了更加方便集成Tinker的方式
我們通過HTTPS及簽名校驗等機制保障補丁下發(fā)的安全性
豐富的下發(fā)維度控制,有效控制補丁影響范圍
我們提供了應(yīng)用升級一站式解決方案

至于如何使用Bugly熱更新看文檔就可以了,今天我就說一說官網(wǎng)文檔中多渠道補丁的一些錯誤(今天以Bugly1.2.2(tinker1.7.6))為例

在project的build.gradle中添加依賴

配置app build.gradle

這里要注意,官方給出的project.tinkerPatch.oldApk、project.tinkerPatch.buildConfig.applyMapping、project.tinkerPatch.buildConfig.applyResourceMapping三個配置路徑有錯誤,tinker 1.7.6也存在多渠道打包有bug(和官方溝通后證實了這一點)
我們在進行多渠道打包的時候會執(zhí)行下面的命令,他打出的補丁包都是一樣的,通過查看補丁包內(nèi)的YAPATCH.MF文件就可以證明,官網(wǎng)表示會在下一個版本中修復(fù)

這里的簽名方式不懂可以看這篇文章:http://www.fzitv.net/article/122745.htm

這里的配置的config.gradle不明白可以看這篇文章:http://www.fzitv.net/article/122746.htm

tinker-support.gradle的配置,

配置config.gradle

其他配置

不要忘了混淆,還有關(guān)于適配Android7.0系統(tǒng)的配置,這里就不說了。

接下來我們執(zhí)行下面的命令開始生成基準包(一定要保留好基準包)

tinkerPatchAllFlavorRelease

生成生產(chǎn)版本的apk后,如果我們發(fā)現(xiàn)bug,可以修復(fù)bug,然后生成補丁包。

生成完補丁包后,就可以借助Bugly的熱更新進行修復(fù)了,找到我們注冊的app,上傳補丁包





tinker是在我們打開app的時候去檢查服務(wù)器有沒有補丁包,以及本地有沒有補丁包,如果檢測到了就去下載,然后會在下次啟動app的進行補丁的修復(fù)。這樣通過Bugly我們不用去搭建下發(fā)補丁包的服務(wù)器了,特別方便。

源代碼代碼:BuglyTinker_jb51.zip

相關(guān)文章

  • Android動態(tài)布局小結(jié)

    Android動態(tài)布局小結(jié)

    android動態(tài)布局相比靜態(tài)布局,動態(tài)布局不用再將xml轉(zhuǎn)變了布局代碼,提高了一定的效率,本篇文章給大家介紹android動態(tài)布局小結(jié),對android動態(tài)布局相關(guān)知識感興趣的朋友一起學(xué)習(xí)吧
    2016-01-01
  • 史上最全的Android build.gradle配置教程

    史上最全的Android build.gradle配置教程

    這篇文章主要給大家介紹了關(guān)于Android build.gradle配置的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-08-08
  • Flutter多項選擇彈窗實現(xiàn)詳解

    Flutter多項選擇彈窗實現(xiàn)詳解

    這篇文章介紹了Flutter多項選擇彈窗實現(xiàn)詳解,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧<BR>
    2021-11-11
  • android仿360加速球?qū)崿F(xiàn)內(nèi)存釋放

    android仿360加速球?qū)崿F(xiàn)內(nèi)存釋放

    本篇文章實現(xiàn)了Android仿360加速球?qū)崿F(xiàn)內(nèi)存釋放,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-10-10
  • Android嵌套RecyclerView左右滑動替代自定義view

    Android嵌套RecyclerView左右滑動替代自定義view

    這篇文章主要介紹了Android嵌套RecyclerView左右滑動替代自定義view,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2017-06-06
  • Android StickListView實現(xiàn)懸停效果

    Android StickListView實現(xiàn)懸停效果

    這篇文章主要介紹了Android StickListView實現(xiàn)懸停效果的相關(guān)資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-06-06
  • 探討:android項目開發(fā) 統(tǒng)籌兼顧 需要考慮的因素

    探討:android項目開發(fā) 統(tǒng)籌兼顧 需要考慮的因素

    本篇文章是對基于android項目開發(fā) 統(tǒng)籌兼顧 需要考慮的因素進行了詳細的分析介紹,需要的朋友參考下
    2013-06-06
  • Android 仿微信朋友圈點贊和評論彈出框功能

    Android 仿微信朋友圈點贊和評論彈出框功能

    這篇文章主要介紹了Android 仿微信朋友圈點贊和評論彈出框功能的相關(guān)資料,非常不錯,具有參考解決價值,需要的朋友可以參考下
    2016-11-11
  • Android仿微信公眾號界面

    Android仿微信公眾號界面

    這篇文章主要為大家詳細介紹了Android仿微信公眾號界面,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-06-06
  • Android實現(xiàn)png轉(zhuǎn)jpg圖片的方法

    Android實現(xiàn)png轉(zhuǎn)jpg圖片的方法

    在 Android 應(yīng)用開發(fā)中,圖像處理是非常常見的需求,本文介紹了如何在 Android平臺上實現(xiàn)一個 PNG 轉(zhuǎn) JPG 的模塊,用戶可以從相冊或文件中選取 PNG 圖片,一鍵將其轉(zhuǎn)換為 JPG 并保存到本地,需要的朋友可以參考下
    2025-04-04

最新評論

和林格尔县| 陇川县| 水城县| 图木舒克市| 美姑县| 青海省| 洞头县| 肥西县| 阿城市| 富锦市| 岑巩县| 如皋市| 吉隆县| 临江市| 阿拉尔市| 丰顺县| 张家界市| 西乌珠穆沁旗| 大宁县| 凤山县| 清新县| 通辽市| 和政县| 白城市| 霍州市| 中宁县| 和田县| 修武县| 呈贡县| 高青县| 伊金霍洛旗| 平乐县| 永城市| 广宗县| 仙居县| 那曲县| 沂水县| 宿迁市| 高安市| 巴南区| 漯河市|