0x01,又开始写blog了,好久没有网络了,最近终于可以开始继续研究技术了。
今天的问题是大家再用到APKTool时估计常见的一个问题,
在windows下,用APKTool进行打包时,有时会爆这个错误,甚至我们在反编译完没经过任何改动的时候,直接重打包也会遇到
I: Smaling... I: Building resources... Exception in thread "main" brut.androlib.AndrolibException: brut.androlib.AndrolibException: brut.common.BrutException: could not exec command: [aapt, p, --min-sdk-version, 10, --target-sdk-version, 10, -F, C:\Users\ice\AppData\Local\Temp\APKTOOL5697750537225709497.tmp, -0, arsc, -I, C:\Users\ice\apktool\framework\1.apk, -S, F:\webattack\android\result\decompile\res, -M, F:\webattack\android\result\decompile\AndroidManifest.xml] at brut.androlib.Androlib.buildResourcesFull(Androlib.java:358) at brut.androlib.Androlib.buildResources(Androlib.java:283) at brut.androlib.Androlib.build(Androlib.java:206) at brut.androlib.Androlib.build(Androlib.java:176) at brut.apktool.Main.cmdBuild(Main.java:228) at brut.apktool.Main.main(Main.java:79) Caused by: brut.androlib.AndrolibException: brut.common.BrutException: could not exec command: [aapt, p, --min-sdk-version, 10, --target-sdk-version, 10, -F, C:\Users\lenovo\AppData\Local\Temp\APKTOOL5697750537225709497.tmp, -0, arsc, -I, C:\Users\lenovo\apktool\framework\1.apk, -S, F:\webattack\android\result\decompile\res, -M, F:\webattack\android\result\decompile\AndroidManifest.xml] at brut.androlib.res.AndrolibResources.aaptPackage(AndrolibResources.java:357) at brut.androlib.Androlib.buildResourcesFull(Androlib.java:336) ... 5 more Caused by: brut.common.BrutException: could not exec command: [aapt, p, --min-sdk-version, 10, --target-sdk-version, 10, -F, C:\Users\lenovo\AppData\Local\Temp\APKTOOL5697750537225709497.tmp, -0, arsc, -I, C:\Users\lenovo\apktool\framework\1.apk, -S, F:\webattack\android\result\decompile\res, -M, F:\webattack\android\result\decompile\AndroidManifest.xml] at brut.util.OS.exec(OS.java:93) at brut.androlib.res.AndrolibResources.aaptPackage(AndrolibResources.java:355) ... 6 more Caused by: java.io.IOException: Cannot run program "aapt": CreateProcess error=2, ????????? at java.lang.ProcessBuilder.start(ProcessBuilder.java:459) at java.lang.Runtime.exec(Runtime.java:593) at java.lang.Runtime.exec(Runtime.java:466) at brut.util.OS.exec(OS.java:84) ... 7 more Caused by: java.io.IOException: CreateProcess error=2, ????????? at java.lang.ProcessImpl.create(Native Method) at java.lang.ProcessImpl.<init>(ProcessImpl.java:81) at java.lang.ProcessImpl.start(ProcessImpl.java:30) at java.lang.ProcessBuilder.start(ProcessBuilder.java:452) ... 10 more
0x 02 顾名思义,就是aapt.exe创建失败了,为什么呢,大家可以看到在apktool.bat路径下,aapt.exe好好存在着。。经过研究发现,主要是apktool.bat的调用里面大家可以发现是这样的
@echo off set PATH=%CD%;%PATH%; java -jar "%~dp0\apktool.jar" %1 %2 %3 %4 %5 %6 %7 %8 %9
很明显,程序的查找路径只有当前目录和Path,如果你不在apktool的所在目录调用apktool.bat的话,那么对apktool.jar对aapt.exe的间接调用就会发生找不到的问题。
0x03 解决就很简单了,要么把命令行定位到apktool的目录,要么一劳永逸的把apktool的路径直接加到环境变量path中去。
0x04 很简单吧。。。。。。
其实人家官网写了这步。。。。
就这些了
相关推荐
在Android开发领域,APKTool是一个非常重要的工具,它主要用于对APK文件进行解包和打包操作。APKTool允许开发者深入理解APK内部结构,包括反编译、修改和重新打包应用程序,这对于调试、逆向工程、本地化翻译以及...
这是一个Java应用程序,通常包含一个可执行脚本,如`apktool.bat`(在Windows环境下)或`apktool.jar`(跨平台)。将其解压到一个方便的位置,并确保你的系统已经安装了Java运行环境(JRE)。 2. **解包APK**: 要...
总结,Apktool是一个强大且不可或缺的工具,尤其对于Android开发者和逆向工程师,它提供了深入分析和修改APK的能力,促进了Android应用的二次开发和调试。不过,使用时需谨慎,遵循合法合规的原则。
4. **重新打包**:在修改后,Apktool能够将源代码和资源重新打包成一个新的APK,可供安装和运行。 ### 二、Apktool的使用步骤 1. **环境准备**:首先,确保你有一个Java运行环境,因为Apktool是基于Java的。在...
APKTool是一款强大的Android应用程序(APK)的编译、反编译、解包和打包工具,对于Android开发者和安全研究人员来说,它是一个不可或缺的工具。这个工具可以帮助我们深入理解APK文件的内部结构,进行二次开发或者...
在Android应用开发中,Apktool是一个非常重要的工具,它允许开发者对APK文件进行反编译、修改和再编译。这个工具对于理解APK的工作原理、调试、本地化或者自定义应用程序的外观和功能等方面都大有裨益。在本文中,...
`apktool`是一个强大的Android应用(APK)反编译和重打包工具,由IzzySoft开发,它允许开发者查看、编辑并重新打包APK文件,以满足特定的需求。 ### APKtool的功能与工作原理 1. **反编译**:`apktool`可以将APK中...
`Apktool` 是一个开源工具,主要用于Android应用程序的反编译与重编译。它能够解析APK文件中的资源文件,包括XML布局、图片、音频等,并将其转换成可编辑的格式。这样,开发者可以查看和修改这些资源,而不必接触到...
总结,apktool作为一款强大的图形化打包解包签名工具,不仅简化了Android开发者的日常工作,还提供了深入理解APK结构的机会。通过熟练掌握apktool的使用,开发者可以更高效地进行应用调试、优化和定制,从而提升开发...
总之,apktool是一个强大的工具,它提供了对APK文件的深入洞察,让开发者能够更灵活地控制和定制应用程序。然而,正确使用并理解其工作原理至关重要,这不仅涉及技术知识,也包括尊重知识产权和遵循最佳实践。
Apktool能够对这些文件进行解包、编辑和再打包,为开发者提供了一个深入理解APK内部结构的途径。 1. **反编译**:Apktool能够将APK中的Dex(Dalvik Executable)文件转换成可读的Java源代码。这使得开发者可以查看...
3. **打包APK**:完成修改后,使用`apktool b <working_directory>`命令,apktool将重新打包修改后的文件为一个新的APK。请注意,这一步可能需要原始APK的资源.arsc文件,以确保正确的资源引用。 4. **签名APK**:...
【标题】"APKTOOLGUI.rar"是一个与Android应用逆向工程相关的压缩包,它包含了一款名为APKTOOLGUI的图形用户界面工具。这个工具主要用于帮助开发者或者安全研究人员对APK(Android应用程序)进行反编译,以便查看其...
4. **打包**:在修改完成后,APKtool可以将所有修改过的文件重新打包成一个新的APK文件,保留原有的签名或添加新的签名。 5. **签名**:根据Google Play的规定,发布到市场的APK必须经过签名。APKtool提供了一种...
在Android开发中,apktool是一个不可或缺的辅助工具,尤其对于那些想要深入理解APK内部结构或优化应用程序的人来说。 标题中的“apktool脚本 apktool.jar”指的是apktool的核心组件,即apktool.jar文件。这个JAR...
该文件为apk文件解包打包工具。将所需解包xxx.apk文件复制到压缩包解压后apktool.bat所在目录,打开cmd.exe定位到该目录,输入“apktool d xxx.apk”...输入“apktool b xxx“,打包后文件在xxx文件夹中dist文件夹中。
6. **重新打包**:完成修改后,使用apktool重新打包,输入`apktool b <directory>`,这将生成一个新的APK。 7. **签名和优化**:最后,为了使新APK能够被Android系统接受,你需要对其进行签名和优化。可以使用JDK的...
2. **创建一个工作目录**: 例如,创建一个名为`apktool`的目录,然后将apktool.jar放入其中。 3. **设置环境变量**: 为了方便使用,可以将apktool的路径添加到系统的PATH环境变量中。这一步不是必须的,但可以让你...
Apktool 2.4.0是这个工具的一个版本,它提供了对Android资源的解析、反编译和打包功能,支持多种Android平台。 Apktool的工作原理主要包括以下几个步骤: 1. **解析APK**:Apktool首先读取APK文件,解析它的结构,...
在Android应用开发领域,Apktool是一个非常重要的工具,它主要用于安卓APK应用程序的反编译与再编译。标题中的"apktool、apktool.jar、apktool.bat"分别指的是Apktool工具本身、Apktool的Java可执行文件以及用于...