当前位置: 首页 > 工具软件 > common-tools > 使用案例 >

Android编译时出现Process 'command 'build-tools\27.0.3\aapt.exe'' finished with non-zero exit value 1报错

宗政和韵
2023-12-01

首先说下自己的解决方案:
1,电脑当时运行的内存不够,导致了这个问题
2,这个才是重点 AndroidManifest.xml资源文件中引用有错误(搜狗渠道的资源配置引用了爱游戏渠道的资源配置)删除错误的资源配置就可以了,资源报错的方式是通过以下一篇博客找到的

同时感谢一位博主,他的这篇文章写的非常不错,我也是在这个基础上找到的
链接如下:
https://blog.csdn.net/tcpipstack/article/details/51559613?utm_source=blogxgwz0

转发如下:
昨天在开发一个项目时,在Android Studio中编译时,gradle编译之后出现了如下错误:

1Error:Execution failed for task ':samples-simplevideowidget:processDebugResources'. 
> com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'E:\Android\SDK\build-tools\23.0.1\aapt.exe'' finished with non-zero exit value 1

2

首先看到这个错误之后,我先检查了下Android Studio项目中资源,代码有无提示的错误,经过确认没有之后,将错误信息在Google中搜索。

经过搜索之后,在StackOverflow和CSDN上发现有很多人遇到了这个错误,不过解决方法却各不相同。有的建议Clean然后Rebuild,有的建议修改使用内存,有的说是代码问题,也有的说是资源问题,比如本来是jpg图片,文件后缀却是png也会导致问题…

我按照以上方案一一检查,还是未能解决,于是只能自己动手排查原因了!

  1. 定位错误点

在项目root路径,实际上是控制台Terminal下也可以输入命令,命令行输入:

gradlew processDebugResources --debug

1 gradlew processDebugResources --debug

然后项目开始编译,屏幕上输出大量编译Log信息,从Log中找到了输出的出错信息:

1org.gradle.process.internal.DefaultExecHandle] Changing state to: FAILED
2,org.gradle.process.internal.DefaultExecHandle] Process ‘command ‘E:\Android\SDK\build-tools\23.0.1\aapt.exe’’ finished with exit value 1 (state: FAILED)
3,org.gradle.api.Project] Unknown source file : ERROR: In ListItemLinearLayout, unable to find attribute singleLine
4,org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter] Finished executing task ‘:samples-simplevideowidget:processDebugResources’
5,E] [class org.gradle.TaskExecutionLogger] :samples-simplevideowidget:processDebugResources FAILED
6

从上述Log信息,我们可知出错点是ERROR: In ListItemLinearLayout, unable to find attribute singleLine,那么肯定是attrs文件的ListItemLinearLayoutstyleable出错了。
2. 错误原因

经过上述分析,我们进入attrs.xml文件,找到ListItemLinearLayout,如下所示:
1,
2,
3,

可以看出singleLine没有对应的format属性,确定singleLine没有在代码中使用之后,将此属性删掉。

重新编译之后,问题解决。

 类似资料: