使用apktool反编译apk获取资源文件

东坡下载 2018年05月25日 10:38:46

      apktool的主要作用是资源文件获取,可以提取出图片文件和布局文件进行使用查看 
      使用: 
      1. 下载新版apktool 这里是传送门 
      2. 解压得到3个文件:aapt.exe,apktool.bat,apktool.jar 
      3. 将需要反编译的APK文件放到该目录下 
      4. 打开命令行界面(运行CMD) ,定位到apktool文件夹,输入以下命令:apktool.bat d -f test.apk

      反编译慕课网app成功的例子:

      命令行界面效果

      文件夹目录

      自动生成文件效果

      [注释] test.apk即为要反编译的应用的文件名

      [注意 1 ] 之前按网上的教程试了好几次都没有成功,报如下错:

      Exception in thread "main" brut.androlib.AndrolibException: Could not decode arsc file1

      原因是因为apktool.jar的版本太低,所以我去下载了比较新的apktool.jar来替换之前的apktool.jar,然后成功解决问题。上面提供的下载地址是集成的较新的apktool.jar。如果日后再报这种错误,可以继续更新apktool.jar的版本。

      [注意 2 ] 网上有很多说格式应该为 
      apktool.bat d -f [apk文件 ] [输出文件夹] 
      但是在新版中这样写貌似有时会报如下错:

      Input file< test.apk> was not found or was not readable 1

      所以不如省略第二个参数,省略后会自动新建和应用重名的文件夹并将反编译后的文件都输出到该文件夹。

      [注意 3 ]文件路径中尽量不要包含中文,谁知道会出来什么鬼错误。。