【原】tinker dex檔案格式的dump工具tinker-dex-dump,dextinker-dex-dump

來源:互聯網
上載者:User

【原】tinker dex檔案格式的dump工具tinker-dex-dump,dextinker-dex-dump
序言

Tinker是推出的熱更新開源項目,同其它熱更新方案相比具有補丁包小,支援類,so,資源檔的替換等優點。其中在類替換的方案裡自主研發了DexDiff演算法,使得補丁包變的更小。DexDiff演算法最終產生的產物雖然也以.dex作為格式尾碼,但和實際虛擬機器中的dex檔案是二種完全不同的格式。  

 

關於tinker-dex-dump

  tinker-dex-dump是針對dexdiff產生的.dex格式檔案,查看其內部資料的工具。主要目的是協助大家對dexdiff產生的dex格式有一個更加直觀的瞭解。如果使用該工具能讓你更容易瞭解tinker相關原理,那該工具的目的也就達到了,也算是個人對Tinker的致敬。該工具已上傳到github,github地址為https://github.com/LaurenceYang/tinker-dex-dump

 

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名字  

--section參數列表,參數的意義同其命名
 
  • StringData
  • TypeId
  • ProtoId
  • FieldId
  • MethodId
  • ClassDef
  • TypeList
  • AnnotationSetRefList
  • AnnotationSet
  • ClassData
  • Code
  • DebugInfo
  • Annotation
  • StaticValue
  • AnnotationsDirectory
範例一:顯示頭部資訊  
java -jar tinker-dex-dump.jar --dex classes.dex --header

 範例二:顯示StringData地區資訊  
java -jar tinker-dex-dump.jar --dex classes.dex --section StringData

 範例三:顯示協助資訊  
java -jar tinker-dex-dump.jar --help

 tinker dex格式參考

tinker dex格式主要包括兩大部分:頭部和各個section地區的巨集指令清單,如:

 

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.