Error: ENOENT: no such file or directory when running Ionic Cordova Platform Add Android
Asked Answered
S

5

13

I just cant figure out how to solve this problem. I've tried many solutions but nothing works for my case. So i put my project in xampp\htdocs with folder name exam-ionic.

Then when i tried to add platform android the error

Error: ENOENT: no such file or directory, 
 open 'c:\xampp\htdocs\exam-ionic\android\package.json'] {
 errno: -4058,
 code: 'ENOENT',
 syscall: 'open',
 path: 'c:/xampp/htdocs/exam-ionic/android/package.json

This is when i run ionic cordova platform add android --verbose

ionic:utils-process onBeforeExit handler: 'process.exit' received +0ms
ionic:utils-process onBeforeExit handler: running 1 functions +2ms
ionic:utils-process error while killing process tree for 6724: Error: Command 
failed: taskkill /pid 
6724 /T /F
ionic:utils-process ERROR: The process "6724" not found.
ionic:utils-process
ionic:utils-process     at ChildProcess.exithandler (child_process.js:308:12)
ionic:utils-process     at ChildProcess.emit (events.js:315:20)
ionic:utils-process     at maybeClose (internal/child_process.js:1048:16)
ionic:utils-process     at Process.ChildProcess._handle.onexit 
(internal/child_process.js:288:5) {
ionic:utils-process   killed: false,
ionic:utils-process   code: 128,
ionic:utils-process   signal: null,
ionic:utils-process   cmd: 'taskkill /pid 6724 /T /F'
ionic:utils-process } +916ms
ionic:utils-process onBeforeExit handler: error from function: Error: Command 
failed: taskkill /pid 
6724 /T /F
ionic:utils-process ERROR: The process "6724" not found.
ionic:utils-process
ionic:utils-process     at ChildProcess.exithandler (child_process.js:308:12)
ionic:utils-process     at ChildProcess.emit (events.js:315:20)
ionic:utils-process     at maybeClose (internal/child_process.js:1048:16)
ionic:utils-process     at Process.ChildProcess._handle.onexit 
(internal/child_process.js:288:5) {
ionic:utils-process   killed: false,
ionic:utils-process   code: 128,
ionic:utils-process   signal: null,
ionic:utils-process   cmd: 'taskkill /pid 6724 /T /F'
ionic:utils-process } +3ms
ionic:utils-process processExit: exiting (exit code: 1) +5ms

This is my ionic info

Ionic:

Ionic CLI                     : 5.4.16 
(C:\Users\User\AppData\Roaming\npm\node_modules\ionic)
Ionic Framework               : @ionic/angular 5.6.0
@angular-devkit/build-angular : 0.1101.4
@angular-devkit/schematics    : 11.1.4
@angular/cli                  : 11.1.4
@ionic/angular-toolkit        : 3.1.0

Capacitor:

Capacitor CLI   : 2.4.7
@capacitor/core : 2.4.7

Cordova:

Cordova CLI       : 10.0.0
Cordova Platforms : none
Cordova Plugins   : cordova-plugin-ionic-keyboard 2.2.0, cordova-plugin- 
ionic-webview 4.2.1, (and 9 other plugins)

Utility:

cordova-res : 0.15.3
native-run  : 1.3.0

System:

Android SDK Tools : 26.1.1 (C:\Users\User\AppData\Local\Android\Sdk)
NodeJS            : v14.16.1 (C:\Program Files\nodejs\node.exe)
npm               : 7.9.0
OS                : Windows 10

And this is the package.json

{
  "name": "exam-ionic",
  "version": "0.0.1",
  "author": "Ionic Framework",
  "homepage": "https://ionicframework.com/",
  "scripts": {
    "ng": "ng",
    "start": "ng serve",
    "build": "ng build",
    "test": "ng test",
    "lint": "ng lint",
    "e2e": "ng e2e"
  },
  "private": true,
  "dependencies": {
    "@angular/common": "~11.2.0",
    "@angular/core": "~11.2.0",
    "@angular/forms": "~11.2.0",
    "@angular/platform-browser": "~11.2.0",
    "@angular/platform-browser-dynamic": "~11.2.0",
    "@angular/router": "~11.2.0",
    "@capacitor/android": "^2.4.7",
    "@capacitor/core": "2.4.7",
    "@ionic-native/core": "^5.32.0",
    "@ionic-native/onesignal": "^5.32.0",
    "@ionic-native/wonderpush": "^5.32.0",
    "@ionic/angular": "^5.5.2",
    "@ionic/storage": "^2.3.1",
    "cordova-plugin-androidx": "^3.0.0",
    "cordova-plugin-androidx-adapter": "^1.1.3",
    "cordova-sqlite-storage": "^5.1.0",
    "ionic-context-menu": "^5.0.0",
    "onesignal-cordova-plugin": "^2.11.3",
    "rxjs": "~6.6.0",
    "tslib": "^2.0.0",
    "wonderpush-cordova-sdk": "^3.0.3",
    "wonderpush-cordova-sdk-fcm": "^1.0.1",
    "zone.js": "~0.10.2"
  },
  "devDependencies": {
    "@angular-devkit/build-angular": "~0.1101.4",
    "@angular/cli": "~11.1.4",
    "@angular/compiler": "~11.2.0",
    "@angular/compiler-cli": "~11.2.0",
    "@angular/language-service": "~11.2.0",
    "@capacitor/cli": "2.4.7",
    "@ionic/angular-toolkit": "^3.1.0",
    "@ionic/lab": "3.2.10",
    "@types/jasmine": "~3.6.0",
    "@types/jasminewd2": "~2.0.3",
    "@types/node": "^12.11.1",
    "codelyzer": "^6.0.0",
    "cordova-plugin-device": "^2.0.2",
    "cordova-plugin-ionic-keyboard": "^2.2.0",
    "cordova-plugin-ionic-webview": "^4.2.1",
    "cordova-plugin-splashscreen": "^5.0.2",
    "cordova-plugin-statusbar": "^2.4.2",
    "cordova-plugin-whitelist": "^1.3.3",
    "jasmine-core": "~3.6.0",
    "jasmine-spec-reporter": "~5.0.0",
    "karma": "~5.2.0",
    "karma-chrome-launcher": "~3.1.0",
    "karma-coverage": "~2.0.3",
    "karma-coverage-istanbul-reporter": "~3.0.2",
    "karma-jasmine": "~4.0.0",
    "karma-jasmine-html-reporter": "^1.5.0",
    "protractor": "~7.0.0",
    "ts-node": "~8.3.0",
    "tslint": "~6.1.0",
    "typescript": "~4.0.2"
  },
  "description": "An Ionic project",
  "cordova": {
    "plugins": {
      "cordova-sqlite-storage": {},
      "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": {},
      "onesignal-cordova-plugin": {},
      "wonderpush-cordova-sdk": {
        "CLIENT_ID": "a312c22bafed82635f3167cc71a7437a9b840c44",
        "CLIENT_SECRET": "e499dc98a572d63752da6b73494ff8bf3bc99cf04a64bfc5451fbdce52854547"
      },
      "wonderpush-cordova-sdk-fcm": {
        "CLIENT_ID": "a312c22bafed82635f3167cc71a7437a9b840c44",
        "CLIENT_SECRET": "e499dc98a572d63752da6b73494ff8bf3bc99cf04a64bfc5451fbdce52854547",
        "SENDER_ID": "default"
      },
      "cordova-plugin-androidx": {},
      "cordova-plugin-androidx-adapter": {}
    },
    "platforms": []
  }
}

I've tried reinstall the npm, reinstall the cordova, updated the ionic CLI, deleted node_module folder + package.lock.json then npm install, but nothing does work. Please help meeee

Salem answered 16/4, 2021 at 2:47 Comment(0)
V
23

I was running with the same error and today I found out the solution. In the past, I tried a capacitor plugin, but my project is cordova, so I removed it from my project. But I think that some files were not properly deleted and when I ran ionic repair, the problem started. So, to repair this I deleted the ANDROID folder at project root, any files related to Capacitor at root, edited the package.json and removed everything related with Capacitor and everything works again.

Solution

  1. Delete the android folder at project root
  2. Edit the package.json and remove everything related with Capacitor
Vibrator answered 28/4, 2021 at 19:4 Comment(0)
A
4

In my case i had android folder in my root directory which i had copied from the platforms folder. so when i renamed it from android to android-out and ran ionic cordova platfrom add android it worked

Agglomeration answered 18/8, 2021 at 9:32 Comment(0)
I
1

I got the same issue in android folder. I solved it like : - My ionic version is 5.4.0

Run the below commands:

  • ionic cordova platform remove android
  • ionic cordova platform add android
Irving answered 21/7, 2021 at 7:21 Comment(1)
I think you are missing the platform keyword: ionic cordova platform rm androidSelvage
G
0

These answers have missed the removal of the 'ios' folder as well. This can be caused by attempting to install via Capacitor when you are still using Cordova.
(Generally when you jump between legacy and modern Ionic projects)

rm -rf platforms (to remove all platforms already installed)
rm -rf ios
ionic cordova prepare ios --release --prod (or android)

Then hit Y and it'll re-install ios in accordance with your package.json versioning.

example-of-following-installation

Geulincx answered 11/4, 2023 at 17:44 Comment(1)
@user it’s already represented in text as wellGeulincx
F
0

Below Solution works for me:

Package.json

"cordova-android": "^11.0.0",
"cordova-ios": "^6.2.0",
"@ionic/angular": "^7.0.1",
"@ionic/cordova-builders": "^9.0.0",

Perform the below steps in your root terminal:

  • Remove (android | ios ) platform - ionic cordova platform remove (android | ios)
  • Install Resouce package - npm i -g cordova-res && ionic cordova resources (android | ios) --force
  • Add platform again - ionic cordova platform build (android | ios)
Flagelliform answered 26/4, 2023 at 7:44 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.