linux下打包出现brut.common.BrutException: could not exec command: [/tmp/brut_util_Jar_22418586694498,解决方案

本文介绍了一种在CentOS 64位系统中使用Apktool进行编译时出现的错误及其解决方案。该问题源于系统不支持32位aapt程序,通过安装32位版本的glibc、zlib和libstdc++得以解决。
出现了以下错误:

I: Using Apktool 2.0.1
I: Checking whether sources has changed...
I: Smaling smali folder into classes.dex...
I: Checking whether resources has changed...
I: Building resources...
Exception in thread "main" brut.androlib.AndrolibException: brut.androlib.AndrolibException: brut.common.BrutException: could not exec command: [/tmp/brut_util_Jar_224185866944982275.tmp, p, --forced-package-id, 127, --min-sdk-version, 16, --target-sdk-version, 22, --version-code, 1, --version-name, Developer Build, -F, /tmp/APKTOOL6017041239150380880.tmp, -0, arsc, -I, /home/super/apktool/framework/1.apk, -S, /home/super/getSource/342020/res, -M, /home/super/getSource/342020/AndroidManifest.xml]
    at brut.androlib.Androlib.buildResourcesFull(Androlib.java:459)
	    at brut.androlib.Androlib.buildResources(Androlib.java:397)
	    at brut.androlib.Androlib.build(Androlib.java:285)
	    at brut.androlib.Androlib.build(Androlib.java:256)
	    at brut.apktool.Main.cmdBuild(Main.java:225)
	    at brut.apktool.Main.main(Main.java:84)
Caused by: brut.androlib.AndrolibException: brut.common.BrutException: could not exec command: [/tmp/brut_util_Jar_224185866944982275.tmp, p, --forced-package-id, 127, --min-sdk-version, 16, --target-sdk-version, 22, --version-code, 1, --version-name, Developer Build, -F, /tmp/APKTOOL6017041239150380880.tmp, -0, arsc, -I, /home/super/apktool/framework/1.apk, -S, /home/super/getSource/342020/res, -M, /home/super/getSource/342020/AndroidManifest.xml]
	    at brut.androlib.res.AndrolibResources.aaptPackage(AndrolibResources.java:419)
	    at brut.androlib.Androlib.buildResourcesFull(Androlib.java:445)
	    ... 5 more
Caused by: brut.common.BrutException: could not exec command: [/tmp/brut_util_Jar_224185866944982275.tmp, p, --forced-package-id, 127, --min-sdk-version, 16, --target-sdk-version, 22, --version-code, 1, --version-name, Developer Build, -F, /tmp/APKTOOL6017041239150380880.tmp, -0, arsc, -I, /home/super/apktool/framework/1.apk, -S, /home/super/getSource/342020/res, -M, /home/super/getSource/342020/AndroidManifest.xml]
	    at brut.util.OS.exec(OS.java:93)
	    at brut.androlib.res.AndrolibResources.aaptPackage(AndrolibResources.java:413)
	    ... 6 more
Caused by: java.io.IOException: Cannot run program "/tmp/brut_util_Jar_224185866944982275.tmp": error=2, No such file or directory
	    at java.lang.ProcessBuilder.start(ProcessBuilder.java:1048)
	    at java.lang.Runtime.exec(Runtime.java:620)
	    at java.lang.Runtime.exec(Runtime.java:485)
	    at brut.util.OS.exec(OS.java:84)
	    ... 7 more
Caused by: java.io.IOException: error=2, No such file or directory
	    at java.lang.UNIXProcess.forkAndExec(Native Method)
	    at java.lang.UNIXProcess.<init>(UNIXProcess.java:248)
	    at java.lang.ProcessImpl.start(ProcessImpl.java:134)
	    at java.lang.ProcessBuilder.start(ProcessBuilder.java:1029)

... 10 more

我在CentOS下,遇到一个一样的问题,好像是64位系统下不支持32位appt程序导致的,后来通过root权限,使用CentOS下的命令:

1
2
yum update libstdc++
yum  install  libstdc++.i686 glibc.i686 zlib.i686

安装了32位的 glibc、zlib、libstdc++把这个问题解决了。不知道能不能为你在Ubuntu下提供一点帮助。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值