使用ApkIDE反编译修改后,重新编译生成APK报错:
> 正在编译Apk... -
- 失败:
S: WARNING: Could not write to (C:\Users\Administrator\AppData\Local\apktool\framework), using C:\Users\ADMINI~1\AppData\Local\Temp\ instead...
S: Please be aware this is a volatile directory and frameworks could go missing, please utilize --frame-path if the default storage directory is unavailable
brut.androlib.AndrolibException: brut.common.BrutException: could not exec (exit code = -1073741515): [C:\Users\ADMINI~1\AppData\Local\Temp\brut_util_Jar_7646360091226827593.tmp, p, --forced-package-id, 127, --min-sdk-version, 9, --version-code, 1000000, --version-name, 1.0.0.1, --no-version-vectors, -F, C:\Users\ADMINI~1\AppData\Local\Temp\APKTOOL4142050531614959167.tmp, -0, arsc, -0, myd, -0, jar, -0, png, -0, assets/cocosstudio/UIRes/icon/item/icon_jinyanzhou_1.2bei.png, -0, assets/cocosstudio/UIRes/icon/skill/icon_skill_mabi.png.png, -0, jpg, -0, arsc, -I, C:\Users\ADMINI~1\AppData\Local\Temp\1.apk, -S, D:\ApkIDE\Work\com.duoyuan.xytl_jz_GM\res, -M, D:\ApkIDE\Work\com.duoyuan.xytl_jz_GM\AndroidManifest.xml]
报错的原因:
apktool 解包的时候,会默认把框架资源文件生成在 ***/apktool/freamwork 以 1.apk 或者2.apk的形式存储。有时出现的情况是,他并不是生成在 apktool/framework 目录下的,而是在temp 目录下,但是temp目录是不稳定的,在build 的时候apktool 会调用框架文件,从而带来一些影响。
这种问题是在2.1.0中,反编译的指令与1.5.3不同了,如果需要指定反编译输出文件夹,需要在前面加 -o 表示输出文件夹。
看了好多博客,这篇最值得参考:https://blog.csdn.net/wolinghuanyun/article/details/52440989