在使用apktool打包时,可能会出现下面错误:
Exception in thread "main" brut.androlib.AndrolibException: brut.common.BrutExce
ption: could not exec command: [aapt, p, --min-sdk-version, 8, --target-sdk-vers
ion, 16, -F, C:\Users\easou\Desktop\AppPackageMake\.\apk_unsign_temp\E_Play_VRoo
m_unsign.apk, -A, C:\Users\easou\Desktop\AppPackageMake\.\unZip\assets, C:\Users
\easou\Desktop\AppPackageMake\.\unZip\build\apk]
at brut.androlib.res.AndrolibResources.aaptPackage(AndrolibResources.jav
a:255)
at brut.androlib.Androlib.buildApk(Androlib.java:437)
at brut.androlib.Androlib.build(Androlib.java:195)
at brut.androlib.Androlib.build(Androlib.java:174)
at brut.apktool.Main.cmdBuild(Main.java:188)
at brut.apktool.Main.main(Main.java:70)
Caused by: brut.common.BrutException: could not exec command: [aapt, p, --min-sd
k-version, 8, --target-sdk-version, 16, -F, C:\Users\easou\Desktop\AppPackageMak
e\.\apk_unsign_temp\E_Play_VRoom_unsign.apk, -A, C:\Users\easou\Desktop\AppPacka
geMake\.\unZip\assets, C:\Users\easou\Desktop\AppPackageMake\.\unZip\build\apk]
at brut.util.OS.exec(OS.java:87)
at brut.androlib.res.AndrolibResources.aaptPackage(AndrolibResources.jav
a:253)
... 5 more
Caused by: java.io.IOException: Cannot run program "aapt": CreateProcess error=2
, ?????????
at java.lang.ProcessBuilder.start(Unknown Source)
at java.lang.Runtime.exec(Unknown Source)
原因:打包时需要apktool.java 和aapt.exe 结合,但是调用cmd命令时,只用到了apktool.jar,
eg:java -jar android-sdk-windows\apktool.jar b ./unZip\ ./apk_unsign_temp\test.apk
而没有用到aapt.exe,所以要使系统能够找到aapt.exe,目前我想到的办法就是:
配置环境变量:
在PATH中添加aapt.ext 所在路径(aapt.exe放置在android-sdk-windows目录下),如
PATH=C:\Users\easou\Desktop\AppPackageMake\android-sdk-windows