Build error even after several tries of cleaning the system up from scratch.
Question: What is the best procedure to detect the source problem and fix it.
Build Command
ionic cordova build android
ERROR
ng.cmd run app:ionic-cordova-build --platform=android An unhandled exception occurred: Could not find the implementation for builder @ionic/angular-toolkit:cordova-build See "C:\Users\username\AppData\Local\Temp\ng-DhZAYC\angular-errors.log" for further details. [ERROR] An error occurred while running subprocess ng.
ng.cmd run app:ionic-cordova-build --platform=android exited with exit code 127. Re-running this command with the --verbose flag may provide more information.
System Info
Ionic:
Ionic CLI : 6.11.10 (C:\Users\username\AppData\Roaming\npm\node_modules@ionic\cli) Ionic Framework : @ionic/angular 4.11.13
@angular-devkit/build-angular : 0.1001.4 @angular-devkit/schematics : 10.1.4 @angular/cli : 11.0.0-next.4
@ionic/angular-toolkit : 1.5.1Cordova:
Cordova CLI : 10.0.0 Cordova Platforms : 6.0.0, android 9.0.0, browser, ios 5.1.1 Cordova Plugins : cordova-plugin-ionic-keyboard 2.2.0, cordova-plugin-ionic-webview 3.1.2, (and 22 other plugins)
Utility:
cordova-res : 0.15.1 native-run (update available: 1.2.1) : 0.2.9
System:
Android SDK Tools : 26.1.1 (C:\Users\username\AppData\Local\Android\Sdk) NodeJS : v12.10.0 (C:\Program Files\nodejs\node.exe) npm : 6.13.7 OS : Windows 10
package.json
{ "name": "myapp", "version": "0.0.30", "author": "", "homepage": "", "scripts": {
"ng": "ng",
"start": "ng serve",
"build": "ng build",
"test": "ng test",
"lint": "ng lint",
"e2e": "ng e2e",
"ionic:build-obsolet": "ionic-app-scripts build android --release --prod --wwwDir www --buildDir build" }, "private": true, "dependencies": {
"@angular-devkit/build-angular": "^0.1001.4",
"@angular/common": "^11.0.0-next.4",
"@angular/core": "^11.0.0-next.4",
"@angular/fire": "^5.1.3",
"@angular/forms": "^11.0.0-next.4",
"@angular/http": "^7.2.2",
"@angular/platform-browser": "^11.0.0-next.4",
"@angular/platform-browser-dynamic": "^11.0.0-next.4",
"@angular/router": "^11.0.0-next.4",
"@ionic-native/android-permissions": "^5.11.0",
"@ionic-native/app-version": "^5.9.0",
"@ionic-native/calendar": "^5.9.0",
"@ionic-native/camera": "^5.23.0",
"@ionic-native/core": "^5.21.0",
"@ionic-native/device": "^5.11.0",
"@ionic-native/email-composer": "^5.15.1",
"@ionic-native/fcm": "^5.15.1",
"@ionic-native/firebase": "^5.5.1",
"@ionic-native/firebase-x": "^5.24.0",
"@ionic-native/http": "^5.24.0",
"@ionic-native/image-picker": "^5.9.0",
"@ionic-native/in-app-browser": "^5.13.0",
"@ionic-native/is-debug": "^5.23.0",
"@ionic-native/keyboard": "^5.9.0",
"@ionic-native/native-storage": "^5.10.0",
"@ionic-native/network": "^5.11.0",
"@ionic-native/open-native-settings": "^5.8.0",
"@ionic-native/qr-scanner": "^5.6.1",
"@ionic-native/screenshot": "^5.9.0",
"@ionic-native/social-sharing": "^5.9.0",
"@ionic-native/splash-screen": "^5.0.0",
"@ionic-native/status-bar": "^5.0.0",
"@ionic/angular": "^4.5.0",
"@ionic/storage": "^2.2.0",
"@types/chart.js": "^2.8.5",
"@types/cordova": "0.0.34",
"ajv": "^6.10.0",
"angularfire2": "^5.1.3",
"animejs": "^3.0.1",
"calendar-utils": "^0.3.1",
"chart.js": "^2.8.0",
"com.darktalker.cordova.screenshot": "^0.1.6",
"cordova-android": "^9.0.0",
"cordova-browser": "^6.0.0",
"cordova-ios": "^5.1.1",
"cordova-open-native-settings": "^1.5.2",
"cordova-plugin-add-swift-support": "^2.0.2",
"cordova-plugin-advanced-http": "^2.2.0",
"cordova-plugin-android-permissions": "^1.0.2",
"cordova-plugin-androidx": "^1.0.2",
"cordova-plugin-androidx-adapter": "^1.1.0",
"cordova-plugin-app-version": "^0.1.9",
"cordova-plugin-calendar": "^5.1.4",
"cordova-plugin-camera": "^4.1.0",
"cordova-plugin-device": "^2.0.2",
"cordova-plugin-email-composer": "^0.9.2",
"cordova-plugin-file": "^6.0.2",
"cordova-plugin-firebasex": "^7.0.0",
"cordova-plugin-inappbrowser": "^3.1.0",
"cordova-plugin-ionic-keyboard": "^2.1.3",
"cordova-plugin-ionic-webview": "^3.1.2",
"cordova-plugin-is-debug": "^1.0.0",
"cordova-plugin-qrscanner": "^3.0.1",
"cordova-plugin-safariviewcontroller": "^1.6.0",
"cordova-plugin-splashscreen": "^5.0.2",
"cordova-plugin-statusbar": "^2.4.2",
"cordova-plugin-telerik-imagepicker": "^2.3.2",
"cordova-plugin-whitelist": "^1.3.3",
"cordova-plugin-x-socialsharing": "^5.4.7",
"cordova-res": "^0.15.1",
"cordova-sqlite-storage": "^3.2.1",
"core-js": "^2.5.4",
"errorhandler": "^1.5.1",
"es6-promise-plugin": "^4.2.2",
"firebase": "^7.22.0",
"firebase-admin": "^9.2.0",
"g": "^2.0.1",
"guid-typescript": "^1.0.9",
"ionic2-calendar": "^0.5.7",
"lab": "18.0.2",
"native-run": "^0.2.7",
"rxjs": "^6.5.3",
"signal-exit": "^3.0.2",
"web": "0.0.2",
"xcode": "^2.0.0",
"zone.js": "~0.10.3" }, "devDependencies": {
"@angular-devkit/architect": "^0.1001.4",
"@angular-devkit/core": "^10.1.4",
"@angular-devkit/schematics": "^10.1.4",
"@angular/cli": "11.0.0-next.4",
"@angular/compiler": "~11.0.0-next.4",
"@angular/compiler-cli": "~11.0.0-next.4",
"@angular/language-service": "~11.0.0-next.4",
"@ionic/angular-toolkit": "^1.4.1",
"@ionic/lab": "^3.2.9",
"@types/jasmine": "~2.8.8",
"@types/jasminewd2": "~2.0.3",
"@types/node": "~10.12.0",
"codelyzer": "~4.5.0",
"jasmine-core": "~2.99.1",
"jasmine-spec-reporter": "~4.2.1",
"karma": "~5.2.3",
"karma-chrome-launcher": "~2.2.0",
"karma-coverage-istanbul-reporter": "~2.0.1",
"karma-jasmine": "~1.1.2",
"karma-jasmine-html-reporter": "^0.2.2",
"node-sass": "^4.12.0",
"protractor": "~7.0.0",
"ts-node": "~8.0.0",
"tslint": "~6.1.3",
"typescript": "^4.0.3" }, "description": "An Ionic project", "cordova": {
"plugins": {
"cordova-plugin-whitelist": {},
"cordova-plugin-statusbar": {},
"cordova-plugin-device": {},
"cordova-plugin-splashscreen": {},
"cordova-plugin-ionic-webview": {
"ANDROID_SUPPORT_ANNOTATIONS_VERSION": "27.+"
},
"cordova-plugin-ionic-keyboard": {},
"cordova-plugin-qrscanner": {},
"cordova-open-native-settings": {},
"cordova-sqlite-storage": {},
"cordova-plugin-telerik-imagepicker": {
"PHOTO_LIBRARY_USAGE_DESCRIPTION": " edit user profile "
},
"cordova-plugin-calendar": {
"CALENDAR_USAGE_DESCRIPTION": " add party event to calendar ",
"CONTACTS_USAGE_DESCRIPTION": " add contact to user "
},
"cordova-plugin-app-version": {},
"com.darktalker.cordova.screenshot": {},
"cordova-plugin-x-socialsharing": {
"ANDROID_SUPPORT_V4_VERSION": "24.1.1+"
},
"cordova-plugin-safariviewcontroller": {},
"cordova-plugin-inappbrowser": {},
"cordova-plugin-advanced-http": {
"OKHTTP_VERSION": "3.10.0"
},
"cordova-plugin-email-composer": {
"ANDROID_SUPPORT_V4_VERSION": "27.+"
},
"cordova-plugin-android-permissions": {},
"cordova-plugin-firebasex": {
"ANDROID_FIREBASE_ANALYTICS_VERSION": "17.0.0",
"FIREBASE_ANALYTICS_COLLECTION_ENABLED": "true",
"FIREBASE_PERFORMANCE_COLLECTION_ENABLED": "true",
"FIREBASE_CRASHLYTICS_COLLECTION_ENABLED": "true",
"ANDROID_ICON_ACCENT": "#FF00FFFF",
"ANDROID_PLAY_SERVICES_TAGMANAGER_VERSION": "17.0.0",
"ANDROID_FIREBASE_MESSAGING_VERSION": "20.0.0",
"ANDROID_FIREBASE_CONFIG_VERSION": "19.0.3",
"ANDROID_FIREBASE_PERF_VERSION": "19.0.1",
"ANDROID_FIREBASE_AUTH_VERSION": "19.1.0",
"ANDROID_CRASHLYTICS_VERSION": "2.10.1",
"ANDROID_CRASHLYTICS_NDK_VERSION": "2.1.1"
},
"cordova-plugin-camera": {
"ANDROID_SUPPORT_V4_VERSION": "27.+"
},
"cordova-plugin-is-debug": {}
},
"platforms": [
"browser",
"android",
"ios"
] } }
What I tried
without success.
Deleting node_modules manually (then npm i
), restarting systems and use of commands below...
ionic repair
npm i @angular-devkit/architect@latest @angular-devkit/build-angular@latest @angular-devkit/core@latest @angular-devkit/schematics@latest
npm uninstall -g @angular/cli
npm cache verify
npm install -g @angular/cli@latest
npm install
npm i @ionic/angular-toolkit
npm audit fix
npm audit fix --force
npm update
ng update
ng update @angular/cli
ng update @angular/core
Ionic Serve Additional error info on ionic serve
:
[ng] Schema validation failed with the following errors:
[ng] Data path "" should NOT have additional properties(es5BrowserSupport).
[ERROR] ng has unexpectedly closed (exit code 1).
The Ionic CLI will exit. Please check any output above for error details.
According to this folowwing error;
You should edit
angular.json
file and find"es5BrowserSupport": true | false
and remove it.The
es5BrowserSupport
option is a deprecated option that controls whether ES5 targeted builds will include a separate conditionally loaded polyfill for older browsers. It was the precursor to full differential loading support and has been removed.https://github.com/angular/angular-cli/pull/17484