You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Apktool重新编译APK时执行apktool b .apk命令报错

解决Apktool编译APK时的权限与语法错误问题

你的编译报错信息如下:

I: Using Apktool 2.7.0
I: Checking whether sources has changed...
I: Checking whether sources has changed...
I: Checking whether sources has changed...
I: Checking whether resources has changed...
I: Building resources...
brut.androlib.AndrolibException: brut.common.BrutException: could not exec (exit code = 1): [/data/data/com.termux/files/usr/tmp/brut_util_Jar_82197003944312111479219531023469594915.tmp, p, --forced-package-id, 127, --min-sdk-version, 21, --target-sdk-version, 29, --rename-manifest-package, com.aliucord.installer2, --version-code, 107, --version-name, 1.0.7, --no-version-vectors, -F, /data/data/com.termux/files/usr/tmp/APKTOOL5369737272708573366.tmp, -e, /data/data/com.termux/files/usr/tmp/APKTOOL17725436950078718587.tmp, -0, arsc, -I, /data/data/com.termux/files/home/.local/share/apktool/framework/1.apk, -S, /storage/emulated/0/Download/DAPK/Aliucord/res, -M, /storage/emulated/0/Download/DAPK/Aliucord/AndroidManifest.xml]
W: /data/data/com.termux/files/usr/tmp/brut_util_Jar_82197003944312111479219531023469594915.tmp[1]: can't create �c,@f-@8: Operation not permitted
W: /data/data/com.termux/files/usr/tmp/brut_util_Jar_82197003944312111479219531023469594915.tmp[714]: syntax error: unexpected '('

针对这些错误,试试下面的解决步骤:

  • 升级/更换Apktool版本
    Apktool 2.7.0在Termux环境下可能存在兼容性问题,换成最新稳定版本:

    1. 移除旧版本:rm -f $(which apktool)
    2. 下载脚本和最新jar包:
      wget https://raw.githubusercontent.com/iBotPeaches/Apktool/master/scripts/linux/apktool
      wget https://bitbucket.org/iBotPeaches/apktool/downloads/apktool_2.8.1.jar(可替换为官网最新版本号)
    3. 重命名jar包:mv apktool_2.8.1.jar apktool.jar
    4. 设置执行权限:chmod +x apktool apktool.jar
    5. 移动到可执行目录:mv apktool apktool.jar $PREFIX/bin/
  • 自定义Apktool临时目录
    Termux默认tmp目录可能存在权限或编码问题,指定自己的临时目录:

    1. 创建自定义临时目录:mkdir -p ~/apktool_tmp
    2. 编译前设置环境变量:export APKTOOL_TMP=~/apktool_tmp
    3. 再运行编译命令:apktool b .
  • 检查资源文件语法
    报错里的syntax error: unexpected '('提示资源文件存在语法问题,重点排查:

    • /storage/emulated/0/Download/DAPK/Aliucord/AndroidManifest.xml:确认所有括号、标签闭合正常,没有语法错误
    • res目录下的xml文件:比如布局、values文件夹里的文件,检查是否有多余或缺失的括号、引号
  • 重新反编译APK后再编译
    有时候反编译过程中文件损坏,导致编译报错:

    1. 删除当前反编译目录:rm -rf /storage/emulated/0/Download/DAPK/Aliucord
    2. 重新反编译原APK:apktool d 原APK文件名.apk -o /storage/emulated/0/Download/DAPK/Aliucord
    3. 进入目录执行编译:cd /storage/emulated/0/Download/DAPK/Aliucord && apktool b .

内容的提问来源于stack exchange,提问作者JoJo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.30 08:10:36