Android Studio生成签名APK时AAPT2守护进程超时错误求助
错误详情
Task :app:processDebugResources
AAPT2 aapt2-7.3.1-8691043-windows守护进程#0超时未能关闭
java.util.concurrent.TimeoutException: AAPT2 aapt2-7.3.1-8691043-windows守护进程#0:30秒内未能关闭,强制终止
[完整堆栈跟踪信息如下]
at com.android.builder.internal.aapt.v2.Aapt2DaemonImpl.stopProcess(Aapt2DaemonImpl.kt:253)
at com.android.builder.internal.aapt.v2.Aapt2Daemon.shutDown(Aapt2Daemon.kt:171)
...
Suppressed: java.io.IOException: 管道正在关闭
at java.base/java.io.FileOutputStream.writeBytes(Native Method)
... 47 moreTask :app:processDebugResources 执行失败
任务':app:processDebugResources'执行失败。
执行com.android.build.gradle.internal.res.LinkApplicationAndroidResourcesTask$TaskAction时发生失败
AAPT2 aapt2-7.3.1-8691043-windows守护进程#0:链接过程中出现意外错误,尝试终止守护进程。
正常情况下不应出现此问题,若出现请提交问题反馈。官方建议尝试:
使用--stacktrace参数运行以获取堆栈跟踪信息。
使用--info或--debug参数运行以获取更多日志输出。
使用--scan参数运行以获取完整分析信息。
可行解决步骤
清理重建项目
执行Build->Clean Project,完成后执行Rebuild Project,清除构建缓存后重新生成APK。手动终止AAPT2进程
打开Windows任务管理器,找到所有aapt2.exe进程并结束,重启Android Studio后再尝试构建。延长AAPT2守护进程超时时间
在项目根目录的gradle.properties中添加:android.aapt2DaemonTimeout=60单位为秒,可根据实际情况调整数值。
调整Android Gradle插件版本
打开项目级build.gradle,修改com.android.tools.build:gradle的版本(比如从7.3.1升级到7.4.2或降级到7.2.0),同步后重新构建。禁用AAPT2增量构建
在模块级build.gradle的android块中添加:android { // 其他配置 aaptOptions { disableIncremental = true } }同步项目后再次尝试生成签名APK。
排查资源文件错误
检查所有XML资源文件(布局、values、drawable等)是否存在语法错误、无效引用或格式问题,修复后重新构建。
内容的提问来源于stack exchange,提问作者kelvin daniel

