经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 移动开发 » Android » 查看文章
解决AndroidKiller APK 反编译失败,无法继续下一步源码反编译!
来源:cnblogs  作者:Mysticbinary  时间:2019/9/30 8:51:51  对本文有异议

报错背景

今天使用AndroidKiller V1.3.1,反编译一个APK,遇到如下报错:

  1. 当前 Apktool 使用版本:Android Killer Default APKTOOL
  2. 正在反编译 APK,请稍等...
  3. >I: 使用 ShakaApktool 2.0.0-20150914
  4. >I: 正在加载资源列表...
  5. >I: 反编译 AndroidManifest.xml 与资源...
  6. >I: 正在从框架文件加载资源列表: C:\Users\lijie01\apktool\framework\1.apk
  7. >I: 常规资源列表...
  8. >I: 反编译资源文件...
  9. >I: 反编译 values */* XMLs...
  10. >Exception in thread "main" b.a.a.e: resource spec: 0x01010571
  11. > at b.a.d.a.p.a(Unknown Source)
  12. > at b.a.d.a.q.a(Unknown Source)
  13. > at org.c.b.b.c.a(Unknown Source)
  14. > at com.rover12421.shaka.a.b.p.a(Unknown Source)
  15. > at b.a.d.a.p.b(Unknown Source)
  16. > at b.a.d.a.w.a(Unknown Source)
  17. > at b.a.d.a.w.a(Unknown Source)
  18. > at b.a.d.a.a.t.d(Unknown Source)
  19. > at b.a.d.a.a.t.a(Unknown Source)
  20. > at b.a.d.a.a.u.h(Unknown Source)
  21. > at b.a.d.a.a.w.a(Unknown Source)
  22. > at b.a.d.a.a.w.a(Unknown Source)
  23. > at b.a.d.a.a(Unknown Source)
  24. > at b.a.d.a.c(Unknown Source)
  25. > at b.a.a.b(Unknown Source)
  26. > at b.a.E.a(Unknown Source)
  27. > at b.b.a.a(Unknown Source)
  28. > at b.b.a.a(Unknown Source)
  29. > at com.rover12421.shaka.cli.Main.main(Unknown Source)
  30. APK 反编译失败,无法继续下一步源码反编译!

解决

参考这位大佬的博客:https://blog.csdn.net/u012400885/article/details/80409689 进行解决:

下载新版本的Apktool地址:https://down.52pojie.cn/Tools/Android_Tools/

然后打开AndroidKiller_v1.3.1路径,进行替换,注意名字要改成和原来一样的名字。

更换好之后,重新运行AndroidKiller:

  1. 当前 Apktool 使用版本:Android Killer Default APKTOOL
  2. 正在反编译 APK,请稍等...
  3. >I: 使用 ShakaApktool 3.0.0-20170503
  4. >I: 正在加载资源列表...
  5. >I: 反编译 AndroidManifest.xml 与资源...
  6. >I: 正在从框架文件加载资源列表: C:\Users\lijie01\AppData\Local\apktool\framework\1.apk
  7. >I: 常规资源列表...
  8. >I: 反编译资源文件...
  9. >I: 反编译 values */* XMLs...
  10. >java.lang.NullPointerException
  11. > at b.a.d.a.a.x.a(Unknown Source)
  12. > at b.a.d.a.a.x.a(Unknown Source)
  13. > at b.a.d.a.a(Unknown Source)
  14. > at b.a.d.a.c(Unknown Source)
  15. > at b.a.a.b(Unknown Source)
  16. > at b.a.C.a(Unknown Source)
  17. > at b.b.a.a(Unknown Source)
  18. > at b.b.a.a(Unknown Source)
  19. > at com.rover12421.shaka.cli.Main.main(Unknown Source)
  20. >Exception in thread "main" java.lang.IllegalArgumentException: expected element name 'style' and not 'resources'
  21. > at org.e.a.a.c(Unknown Source)
  22. > at b.a.d.a.a(Unknown Source)
  23. > at b.a.d.a.c(Unknown Source)
  24. > at b.a.a.b(Unknown Source)
  25. > at b.a.C.a(Unknown Source)
  26. > at b.b.a.a(Unknown Source)
  27. > at b.b.a.a(Unknown Source)
  28. > at com.rover12421.shaka.cli.Main.main(Unknown Source)
  29. APK 反编译失败,无法继续下一步源码反编译!

虽然还是报错,但是注意看报错信息,已经报不同错了,
>Exception in thread "main" java.lang.IllegalArgumentException: expected element name 'style' and not 'resources'

继续搜索这个错误,然后根据这个大佬的文章进行如下步骤:https://www.bilibili.com/read/cv1785046/

使用AndroidKillerPlugin

下载

下载地址:https://github.com/supperlitt/AndroidKillerPlugin/releases

修改配置

注意,一定要修改正确这个路径,不然AndroidKillerPlugin解压的文件不会解压到你本地的AndroidKiller路径下,还是会失败的。

使用

基本上都是报解压文件失败,这个时候自己手动压解一下就好。

手动压解过程:

在重新执行AndroidKillerPlugin,

解压成功,

如果项目比较大,那么这个过程就会稍微耗时长。

反编译成功

在历史工程中重新打开一下,

反编译成功。

总结

学好使用原生apktool、dex2jar很重要,这样能更好理解Android反编译,并且遇到问题自己也能解决,不会像上面那样 工具报错了,自己没有排错的能力,只能查搜索引擎。

后面会写文章介绍apktool、dex2jar的原理,喜欢可以给我留言、关注、点赞这样我就会有更大的动力,更快的出文章。

原文链接:http://www.cnblogs.com/mysticbinary/p/11609825.html

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号