Android apktool使用中遇到的问题

1.今天学习使用apktool的时候 遇到俩个问题,琢磨了半天终于弄出来了,再次与大家分享下。


2.在开始之前先看下官方文档。


注重比较的部分是关于:java jdk 版本与对应的 apkbtool版本之间的关系。

大概意思是说:1.52以后的版本要用1.7的jdk,1.52之前的要用1.6或者1.7的jdk,因此假如你的apktool版本是1.52以后的 jdk版本要用起码1.7的。


博主遇到的问题是:在反编译的时候  报异常了具体信息是:


“main” brut.androlib.AndrolibException:Could 大概就是这个异常。

百度网上说的是:apktool 版本有问题 不是最新的,在官网上下载一个最新的 连接:

http://ibotpeaches.github.io/Apktool/install/

下好号apktool.jar之后,解压apktool.jar发现和原来的旧版本文件目录不一样。

线版本的目录如下:


看到瞬间发现和旧版本太多不一样了。好吧 不管这些 直接运行:apktool  d BiShe.apk  发现运行不了。这是因为 没得.bat文件  导入一个.bat文件 放到解压的那个文件中。如上图所示。导入之后在apktool d BiShe.apk。这样就会成功。

博主把我的apktool.zip发出来 有需要的可以下载下:注意.bat文件需要放到.jar解压之后的文件中。

链接:




  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
软件说明: 小米人APK改之理是一款可视化的用于修改安卓Apk程序文件的工具,集成了ApkTool、Dex2jar、JD-GUI等Apk修改工具,集Apk反编译Apk打包、Apk签名,支持语法高亮的代码编辑器,基于文件内容的关键字(支持单行代码或多行代码段)搜索、替换引擎,打造成可视的、一体化的APK修改工具,从而大大简化Apk修改过程的繁琐操作,修改更轻松。 APK改之理特色: 1、可视化操作,全自动的反编译、编译、签名Apk。 2、以树目录管理全部反编译得到的Apk资源文件,方便操作。 3、内置代码编辑器,支持语法高亮显示,根据文件格式自动匹配相应语法;支持多文档同时编辑;也支持使用系统编辑器来编辑代码文件。 4、内置基于文件内容的关键字或多行代码段的搜索、替换引擎,一键搜索替换,搜索结果以标签的形式分门别类;允许在指定搜索范围(整个工程或选的文件或文件夹内搜索),支持正则表达式搜索和替换。搜索功能是Apk修改的一个重要工具,从此你不必借助其它第三方搜索工具。 5、内置Google在线翻译引擎,支持实时翻译,支持所有Google支持的几十国语言对译,汉化更轻松。 6、自动识别图像资源,并提供该类资源的快捷替换功能,方便修改这类图片资源。 7、内嵌Unicode、AscII互转工具,以方便硬编码的文字(如汉字)的搜索和汉化类修改。 8、内置类似于系统cmd.exe的命令窗口,高手也可以手动直接输入各种命令来手动操作。 9、所有操作步骤、操作结果都以良好的阅读格式输出在日志窗口,方便查看修改的历史记录。 10、内置adb功能,包括使用adb向设备(或模拟器)安装、卸载修改后的apk进行测试,并嵌入adb log、ddms等功能监测修改apk的运行状况,以便于分析和查找错误。 11、支持多国语言界面,支持界面换肤。 注意事项: 1、双击 ApkIDE.exe启动程序(如果是Vista/Win7建议用用管理员权限运行,右键单击或在属性设置) 2、如果启动不了,请先安装.net framework 2.0(或更高版本): 3、JDK建议使用1.6,不要用1.7。 4、本版集成:apktool 1.5.2;dex2jar 0.0.9.13; JD-GUI 0.3.5 5、APK签名用test.keystore信息: 路径:[Apk改之理安装目录]/test.keystore keystore password:apkide-test key alias:apkide key password:apkide-test validity(years):100 organization:apkide 更新日志: APK改之理3.1.0.0版本更新内容: 1、增加对apktool2.x版本的支持(目前apktool2.x仍然是测试版本,此版要求JDK1.7或以上),同时保留对1.5.2版的支持,二者可以一键切换(菜单「工具」-「配置与选项」-「选项」-「ApkTool版本切换」)。 2、增加apk拖放操作功能,可以将apk文件拖到Apk改之理窗体上,即可自动捕捉并反编译。 3、代码编码器增加将选的文字从“Unicode转换为AscII”或“从AscII 转换为Unicode”二个转换命令,转换结果将直接替换编辑器选的文本。 4、修复部份系统环境下签名出现“java’ 不是内部或外部命令”的错误。 5、配置keystore文件时不再强制要求.keystore的文件。 6、修正一处文件监视上的问题,一些小功能的改善。 版本:2.4.2 alpha测试版 发布时间:2013.05.02 解决部份apk(如无Icon、无Features等特性的apk反编译后出现错误的问题。 针对上网本小屏幕(屏幕分辨率高度600的)调整搜索面板控件尺寸来显示全部。 同时为搜索、替换文本框增加一个扩展编辑器。 搜索结果面板添加“全部关闭”功能,以便一键关闭所有搜索标签。 版本:2.4.1 alpha测试版 发布时间:2013.05.02 修复文件监控的问题,包括:(1)可能存在部份已被外部修改的文件不能即时通知用户重新加载的问题(2)多次使用搜索替换面板“替换全部”功能时,会出现未处理的错误的问题 改了dex2jar实现方式(效果一样,不过更安全些)) 版本:2.4 alpha测试版 发布时间:2013.04.14 增加keystore的签名方式,你可以使用自己的keystore来签名apk(keystore可以使用eclipse来生成,软件已默认提供了一个test.keystore);注:如果使用自己的keystore,请在设置窗口点“验证”按钮确保能显示为“验证成功”的方能使用,否则如果配置不正确编译成的apk是没有签名的(即apk没有META-INF文件夹),且这个过程不会有错误提示造成无法排查原因。PS:如果使用jdk1.7,请使用这种签名方式,否则可能签名不成功;同时因为keystore可以自己生成唯一数据,解决使用共享签名证书可能被如360拉黑报马的问题。 修复文件修改的监控问题,确保在必要时(已打开的文件在外部被修改时)通知用户重新加载它们。 修复查找对话框关闭后无法再打开(打开显示错误)的问题。 完善jdk路径的自动查找和配置(如果不会设置JDK,只要安装jdk的安装版后,通常都能自动查找到)。 版本:2.3 alpha测试版 发布时间:2013.04.09 增加对.samli、.xml的文件修改的监视功能,以便在使用了外部编辑器修改此类文件后能通知用户重新加载修改过的文件。 手动清理旧项目时改为线程方式,避免假死问题。 解决下拉列表的界面语言翻译问题。 小东和小西被改善、修复。
### 回答1: Android apktool是一款广泛使用的工具,用于反编译Android应用程序包(APK)。APK是一种Android应用程序的打包格式,包含了应用的所有代码、资源和配置信息。而反编译则是指将APK文件还原成可读性较高且易于理解的源代码形式。 使用apktool进行APK反编译时,首先需要将APK文件传递给apktool工具。工具会根据APK文件的结构,解析并提取其的所有文件和资源。然后,apktool会自动将其的DEX文件(Dalvik Executable文件,包含了Java源代码经过编译后的字节码)转换为Java源码。此时,开发者可以通过查看反编译后的Java源码来了解应用的工作原理和实现细节。 同时,apktool还会还原APK的XML文件,包括清单文件、布局文件以及其他配置文件。这些XML文件记录了应用的各种配置信息,如权限、活动(Activity)、服务(Service)等。反编译后的XML文件可以帮助开发者了解应用的结构和设计。 尽管apktool反编译功能可以帮助开发者深入了解和分析应用,但需要注意的是,由于反编译是将编译后的字节码转化为源代码,所以反编译后的代码可能会存在格式混乱、变量命名不一致等问题。因此,反编译的源码仅供参考和学习使用,不能完全复原原始代码。 总而言之,android apktool是一款强大的工具,通过它可以帮助开发者反编译APK文件,提取其的代码和资源,从而更好地分析应用和进行代码审查。 ### 回答2: Android apktool是一种常用的工具,用于反编译APK文件。反编译APK可以帮助开发者分析和修改应用程序,并研究其他应用程序的功能和实现原理。 通过使用apktool工具,可以将APK文件解压成源码和资源文件。这样,开发者可以查看应用程序的源代码,理解其逻辑和结构,并根据需要进行修改。apktool还可以还原资源文件,比如图片、音频和布局文件,以供进一步分析和修改。 使用apktool反编译APK文件并不复杂。首先,需要在电脑上安装Java开发环境,然后下载并配置好apktool工具的环境变量。接下来,在命令行运行apktool命令,指定要反编译APK文件路径。反编译完成后,可以在指定的输出目录找到反编译的源码和资源文件。 然而,需要注意的是,反编译APK只能得到大致的源码和资源文件,并不完全等同于开发者的原始代码。因为在编译APK之前,原始代码会经过一系列的编译和混淆过程,这些过程会对源码进行处理,使得反编译后的代码可读性较差。此外,反编译APK可能存在法律和道德问题,因此应该遵守相关法律规定,并尊重开发者的劳动成果。 综上所述,Android apktool是一种有用的工具,可以帮助开发者反编译APK文件,分析和修改应用程序。合法合规地使用该工具,可以加深对Android应用程序的理解,并提升开发能力。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值