Dex、Smali、Class、Java、Jar之间的相互转换

Dex、Smali、Class、Java、Jar之间的相互转换-分析Android底层代码

工具

工具 作用
javac java------>class
ddx class------>dex
baksmali dex------>smali
smali smali------>dex
dex2jar dex------>jar(class的压缩包)
apktool apk------>smali

Android源代码从编译到运行

flowchat
st=>start: APK文件
e=>end: 修改代码 
io1=>start: dex文件
sub1=>start: smali文件 
st->io1->sub1->e

java转class

javac Test.java

class转dex

ddx --dex --output=Test.dex Test.class

dex转smali

java -jar baksmali.jar -o [输出文件夹] dex文件

smali转dex

java -jar smali.jar -o 目标dex文件 [smali文件夹] 

dex转jar

d2j-dex2jar.bat dex文件
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 用两张图告诉你,为什么你的 App 会卡顿? - Android - 掘金 Cover 有什么料? 从这篇文章中你...
    hw1212阅读 12,917评论 2 59
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,242评论 25 708
  • 文|河绿芗瑜 《飞往巴黎的末班机》里说到,“知道为什么人生下来是哭不是笑的吗? 因为他知道来这个人世间是来受苦受累...
    小老板河大大阅读 992评论 8 26
  • 最近心里莫名的有点难受,一部分因为工作的原因,一部分因为生活的原因,总之很多事情,让我很烦躁,没有任何精力去工作。...
    小女子不才_ee3a阅读 141评论 0 1
  • 今天一进门儿子就说数学已经做完了,语文儿还没做,但是他自己已经写下了是什么作业了。看到我进家了,就赶紧做起作业来。...
    王一硕阅读 188评论 0 0