执行Ionic Cordova构建Android失败 ng子进程返回退出码3如何解决
排查步骤
- 首先单独执行Angular构建命令获取完整报错:当前日志中Ionic封装的ng命令报错信息被截断,直接运行
ng run app:ionic-cordova-build --platform=android --verbose,输出的完整日志会明确提示具体是代码语法、配置错误还是依赖缺失问题。 - 修复废弃配置项:日志明确提示
lazy配置项已废弃,全局检索项目中所有路由配置、angular.json构建配置里的lazy: true/lazy: false字段,替换为inject: false。 - 检查依赖版本兼容性:当前使用的Ionic CLI版本为5.4.16,属于较老的版本,运行
npm ls @ionic/angular-toolkit @angular/cli cordova-android检查是否存在peer依赖不匹配的情况,重点关注@ionic/angular-toolkit版本是否和Ionic CLI 5.x兼容。 - 排查路径兼容问题:当前项目路径
E:\Mobile Apps\starapp包含空格,Windows环境下空格会导致命令解析异常,可将项目迁移到无空格、无中文的路径下重试构建。 - 清理缓存重建依赖:删除项目根目录下的node_modules文件夹、package-lock.json文件,执行
npm cache clean --force后重新运行npm install安装依赖,排除依赖损坏的问题。
解决方案
- 配置修复后验证:完成废弃配置修改后,先单独运行ng构建命令确认无报错,再执行
ionic cordova build android重试。 - 适配依赖版本:如果是@ionic/angular-toolkit版本过高导致的兼容问题,执行
npm install @ionic/angular-toolkit@2 --save-dev安装适配Ionic 5.x的工具包版本。 - 切换执行Shell:日志显示当前使用Git Bash作为执行Shell,Windows环境下切换为系统自带的CMD或PowerShell执行构建命令,避免Shell兼容问题。
- 重置Android平台:如果Cordova Android平台配置损坏,依次执行
ionic cordova platform rm android、ionic cordova platform add android重新添加平台后构建。
内容的提问来源于stack exchange,提问作者Muhammad Islam
相关产品推荐
相关产品推荐

