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 很简单吧。。。。。。
其实人家官网写了这步。。。。
就这些了
相关推荐
apk解包命令:apktool.bat d -s xxxx.apk apk打包命令:apktool.bat b xxx文件夹名称 apk保存在xxx 文件夹的dist文件内 apk包需要重新签名
apk打包与解包功能, 学习apk的破解/修改和重新打包的利器.
这里面包含apktool可以将反编译的文件打包成apk文件,同时也包含一个数字签名文件,使打包的程序能够安装在设备上!
APK反编译dex2jar-apktool打包下载
编译反编译解包打包调试工具,适合用于对apk包的理解和学习
该文件为apk文件解包打包工具。将所需解包xxx.apk文件复制到压缩包解压后apktool.bat所在目录,打开cmd.exe定位到该目录,输入“apktool d xxx.apk”...输入“apktool b xxx“,打包后文件在xxx文件夹中dist文件夹中。
android重打包工具
修复apktool重打包时APK由于AndroidResGuard处理报错问题: 具体报错信息 No resource identifier found for attribute 'layout' in package 'com.tencent.mm' No resource identifier found for attribute 'key' in...
apk解压打包工具,apktool最新版2.8
安装步骤如下: ...4.点击开始菜单,运行,输入CMD回车,用cd命令转到刚刚解压apktool-install-windows所在的文件夹,输入apktool,出现一些命令说明即成功安装。 使用:apktool d XXX.apk 反编译XXX.apk
apktool是一个Android反编译时常用的apk资源提取工具,能够查看并提取apk中的源代码、图片、XML配置、语言的资源,并可以重新打包反编译得到的资源,该工具要用到CMD命令行,不过用起来也挺简单的。 简单使用举例: ...
以WIN7为例,在桌面上右键点击计算机——>属性——>高级系统设置——>环境变量——>在下边的系统变量里新建一个变量,变量名为JAVA_HOME,值为JAVA的安装路径,比如我的是H:\ProgramFiles\Java\jdk1.6.0_26 ...
android apk反编译与重编译工具
apk打包,解包,反编译,签名, 图形化界面,不用敲命令,方便实用
ApkIDE编辑必备,解包不成功可替换apktool解决无法开包打包问题!
一个反编译工 具,可以直接查看Jar包的源代码。 具体步骤: 首先将apk文件,将后缀改为zip,解压,得到其中的classes.dex,它就是java文件编译再通过dx工具打包而成的; 解压下载的dex2jar,将classes.dex复制到dex...
最新版的apktool,版本号是2.0.0b9,用新版的apktool打包的软件,用老版本解包会提示错误
apktool1.5.2.tar.bz2和apktool-install-linux-r05-ibot.tar.bz2打包下载
在使用apktool 批量解包...修改apktool源代码,在解包,打包两个步骤中加入复制com目录的代码。ok,可以给多渠道做生产包了。 这里只放上了编译后的jar包和脚本。 apktool.jar的生成,请参考官方说明。 深圳 jordan
以WIN7为例,在桌面上右键点击计算机——>属性——>高级系统设置——>环境变量——>在下边的系统变量里新建一个变量,变量名为JAVA_HOME,值为JAVA的安装路径,比如我的是H:\ProgramFiles\Java\jdk1.6.0_26 ...