smali以及baksmali的jar包用法
        Dex2Smali
        Smali2Dex
        结束语

smali以及baksmali的jar包用法

Author: Linghuanyun

​jar包下载地址 ​​​​https://bitbucket.org/JesusFreke/smali/downloads/?tab=downloads​​​ 这2个jar包的作用就是将dex文件与smali文件格式进行互相转换。
要使用jar,首先需要配置Java环境,这个相信大家都会了,就不在重复。
Dex2Smali:

所用的jar包是baksmali.jar,版本是2.1.3
命令行:java -jar baksmali-2.1.3.jar -o [输出文件夹] dex文件
运行结果如图:
输出文件夹我这里设定的是smali,转换的dex文件是classes.dex

运行成功后,可以进入smali文件夹中看到转换成功的smali文件了。
Smali2Dex:

所用的jar包是smali.jar,版本是2.1.3
命令行:java -jar smali-2.1.3.jar -o 目标dex文件 [smali文件夹]
运行结果如图:

我们执行成功后,在文件下发现了newclasses.dex文件

那么是否转换的成功了呢?我们将得到的dex文件再用dex2jar转成jar文件

通过JD—GUI打开得到的jar文件,我们发现是成功的。
结束语

    apktool:

        是apk格式文件与smali文件的转换

    dex2jar:

        是dex格式文件与jar文件的转换

    smali/baksmali:

        是dex格式文件与smali文件的转换

关于apktool以及dex2jar的使用方法,请参考我的另一篇文章:​​使用ApkTool以及dex2jar对apk进行反编译-更新异常以及解决方案
作者:灵幻云