編輯:關於android開發
Tinker是微信推出的熱更新開源項目,同其它熱更新方案相比具有補丁包小,支持類,so,資源文件的替換等優點。其中在類替換的方案裡自主研發了DexDiff算法,使得補丁包變的更小。DexDiff算法最終生成的產物雖然也以.dex作為格式後綴,但和實際虛擬機中的dex文件是二種完全不同的格式。
tinker-dex-dump是針對dexdiff生成的.dex格式文件,查看其內部數據的工具。主要目的是幫助大家對dexdiff生成的dex格式有一個更加直觀的了解。如果使用該工具能讓你更容易了解tinker相關原理,那該工具的目的也就達到了,也算是個人對Tinker的致敬。該工具已上傳到github,github地址為https://github.com/LaurenceYang/tinker-dex-dump
1、首先下載tinker-dex-dump.jar文件
下載地址
2、通過命令行方式執行
java -jar tinker-dex-dump.jar --dex *.dex [--header] [--section section-name]
--dex 必選項,後接需要dump的dex路徑
--header 可選項,顯示header區域信息
--section 可選項,顯示section區域信息,後接要顯示的section名字
java -jar tinker-dex-dump.jar --dex classes.dex --header
java -jar tinker-dex-dump.jar --dex classes.dex --section StringData
java -jar tinker-dex-dump.jar --help
tinker dex格式主要包括兩大部分:頭部和各個section區域的操作列表,如下圖:
更多關於tinker dex格式可以參考Tinker項目的DexPatchGenerator文件
更多Tinker源碼解析的文章請參考:
轉載請標明本文來源:http://www.cnblogs.com/yyangblog/p/6282118.html
更多內容歡迎star作者的github:https://github.com/LaurenceYang/
如果發現本文有什麼問題和任何建議,也隨時歡迎交流~
Android開啟多進程 1. 為何要開啟多進程 為何開啟android應用要開啟多進程,主要有以下幾點: 單進程所分配的內存不夠,需要更多的內存。在早期android系
Android Studio創建AVD,Android Studio是專門為Android開發設計的IDE,比Eclipse開發Android更加方便、快捷。 安裝And
安卓開源項目周報1227,安卓開源項目1227由OpenDigg 出品的安卓開源項目周報第三期來啦。我們的安卓開源周報集合了OpenDigg一周來新收錄的優質的
Android開發學習之路-動態高斯模糊怎麼做,android高斯什麼是高斯模糊? 高斯模糊(英語:Gaussian Blur),也叫高斯平滑,是在Adobe Phot