使用apktool工具遇到 could not decode arsc file 的解决办法
2024-09-05 03:38:33
I: Using Apktool 2.0.-Beta9 on xx.apk
I: Loading resource table...
Exception in thread "main" brut.androlib.AndrolibException: Could not decode arsc file
at brut.androlib.res.decoder.ARSCDecoder.decode(ARSCDecoder.java:)
at brut.androlib.res.AndrolibResources.getResPackagesFromApk(AndrolibResources.java:)
at brut.androlib.res.AndrolibResources.loadMainPkg(AndrolibResources.java:)
at brut.androlib.res.AndrolibResources.getResTable(AndrolibResources.java:)
at brut.androlib.Androlib.getResTable(Androlib.java:)
at brut.androlib.ApkDecoder.decode(ApkDecoder.java:)
at brut.apktool.Main.cmdDecode(Main.java:)
at brut.apktool.Main.main(Main.java:)
Caused by: java.io.IOException: Expected: 0x001c0001, got: 0x00000000
at brut.util.ExtDataInput.skipCheckInt(ExtDataInput.java:)
at brut.androlib.res.decoder.StringBlock.read(StringBlock.java:)
at brut.androlib.res.decoder.ARSCDecoder.readPackage(ARSCDecoder.java:)
at brut.androlib.res.decoder.ARSCDecoder.readTable(ARSCDecoder.java:)
at brut.androlib.res.decoder.ARSCDecoder.decode(ARSCDecoder.java:)
... more
产生原因:apktool.jar的版本太低,如果使用高版本不会出现异常
解决方案:
1.登陆http://ibotpeaches.github.io/Apktool/ 下载最新版本的apktool.jar,
目前最新版本为2.x
2.将下载到的apktool_xxx.jar文件改名为apktool.jar,然后替换掉老版本的apktool.jar
3.现在可以正常反编译apk文件了
参考:
https://blog.csdn.net/chengkaizone/article/details/47255493
最新文章
- 源码阅读 etherum-block.py
- My安卓知识4--Media Player called in state 0
- php类与对象
- 学习总结 java线程
- JS 框架之我感
- [Android学习笔记]枚举与int的转换
- 在JSP里使用CKEditor和CKFinder
- spring boot https --restful接口篇
- BOM 浏览器对象模型_渲染引擎_JavaScript 引擎_网页加载流程
- 接口测试工具-Jmeter使用笔记(八:模拟OAuth2.0协议简化模式的请求)
- java基础知识—类的方法
- WordPress版微信小程序3.0版发布
- HBase数据持久化之HRegion.flushcache即CF持久化
- 基于ASP.NET WebAPI OWIN实现Self-Host项目实战
- windows java 环境变量配置
- 页面请求速度慢,TTFB时间长的问题分析
- Ambari和ClouderaManager主要不同对比
- 1000: 恶意IP 课程作业
- PIE SDK图层树右键菜单与命令绑定
- 基于webSocket的聊天室