执行ionic cordova run android报错:无法找到或解析有效构建输出文件
执行命令 ionic cordova run android --prod --release 时,构建过程显示成功,但最终报错:Could not parse valid build output file。
构建日志显示已生成AAB文件:
BUILD SUCCESSFUL in 1s
62 actionable tasks: 1 executed, 61 up-to-date
Built the following bundle(s):
/Users/PATH_HERE/app/platforms/android/app/build/outputs/bundle/release/app-release.aab
/Users/PATH_HERE/app/platforms/android/app/build/outputs/bundle/release/fitDEGREE.aab[ERROR] Could not find or parse valid build output file.
Tried the following paths:
- /Users/PATH_HERE/app/platforms/android/app/build/outputs/apk/release/output.json
- /Users/PATH_HERE/app/platforms/android/app/build/outputs/apk/release/output-metadata.json
但platforms/android/app/build/outputs/目录下没有apk文件夹,不清楚如何生成该文件夹。
已尝试的操作:
- 更换各类工具版本
- 移除并重新添加Android平台
- 切换NodeJS版本(v18.13 ↔ v16.13)
- 降级Ionic CLI版本(v7.2 → v6.2)
以上操作均未解决问题。
当前ionic info输出:
Ionic: Ionic CLI : 6.20.9 Ionic Framework : @ionic/angular 6.4.1 @angular-devkit/build-angular : 13.1.4 @angular-devkit/schematics : 13.1.2 @angular/cli : 13.3.10 @ionic/angular-toolkit : 5.0.3 Cordova: Cordova CLI : 12.0.0 (cordova-lib@12.0.1) Cordova Platforms : android 12.0.0 Cordova Plugins : cordova-plugin-ionic-keyboard 2.2.0, cordova-plugin-ionic-webview 5.0.0, cordova-plugin-ionic 5.5.3, (and 14 other plugins) Utility: cordova-res : 0.15.4 native-run : 2.0.1 System: Android SDK Tools : 26.1.1 ios-deploy : 1.12.2 NodeJS : v18.13.0 npm : 8.19.3 OS : macOS Unknown Xcode : Xcode 16.0 Build version 16A242d
解决建议
强制生成APK格式文件
命令默认生成了AAB格式,但ionic cordova run期望读取APK的输出文件,添加参数强制构建APK:ionic cordova run android --prod --release -- --packageType=apk检查Gradle配置
进入platforms/android/app/build.gradle,确认是否有强制启用AAB的配置,若存在可注释或修改:// 若有以下配置,可暂时注释 /* android { bundle { language { enableSplit = false } density { enableSplit = false } abi { enableSplit = false } } } */更新native-run工具
当前native-run版本较旧,可能对AAB支持存在兼容问题,更新到最新版:npm install -g native-run@latest分开构建与部署
先单独构建APK,再手动安装到设备:# 构建APK ionic cordova build android --prod --release -- --packageType=apk # 手动安装 adb install platforms/android/app/build/outputs/apk/release/app-release.apk
内容的提问来源于stack exchange,提问作者DanielRead

