Ionic 3: Android add platform fails after installing cordova-plugin camera and Native Web intent

And above all, thank you for taking the time to help me!

Summary:

I tried to add a cordova-plugin camera to my ion project 3. After many failures and, finally, success, now my application is no longer built on my android.

-------- START EDITING --------

After many tests, it seems that there is a conflict / problem when I have both plugins and a camera installed.

Both plugins from Ionic Native:

-------- END EDIT --------

My ion information

    cli packages: (C:\Users\[...]\AppData\Roaming\npm\node_modules)
        @ionic/cli-utils  : 1.9.2
        ionic (Ionic CLI) : 3.9.2
    global packages:
        Cordova CLI : 7.0.1
    local packages:
        @ionic/app-scripts : 2.1.3
        Cordova Platforms  : android 6.2.3
        Ionic Framework    : ionic-angular 3.6.0
    System:
        Node : v8.1.2
        npm  : 5.0.3
        OS   : Windows 10

The steps I took (a little story):

I could not install the camera plugin due to an incompatible version of the cordova-plugin-compatibility (can be found on many forums). So I followed these steps:

  • removed cordova-plugin-compat v1.0.0 --force version
  • The latest version of cordova-plugin-compat@1.1.0 is installed
  • → run android: my application is still working and working on my device (check!)

Then I try to install the camera plugin:

  • plug-in ionic cordova add cordova-plugin-camera
  • Here is what I got:

    > cordova plugin add cordova-plugin-camera --save
    × Running command - failed!
    [ERROR] An error occurred while running cordova plugin add cordova-plugin-camera --save (exit code 1):
    Installing "cordova-plugin-camera" for android
    Plugin dependency "cordova-plugin-compat@1.1.0" already fetched, using that version.
    Dependent plugin "cordova-plugin-compat" already installed on android.
    [...]
    BUILD SUCCESSFUL
    Error during processing of action! Attempting to revert...
    Failed to install 'cordova-plugin-camera': Error
         at copyNewFile
    (C:\[...]\platforms\android\cordova\lib\pluginHandlers.js:248:15)
         at install (C:\[...]\platforms\android\cordova\lib\pluginHandlers.js:43:17)
         at ActionStack.process
    (C:\[...]\platforms\android\cordova\node_modules\cordova-common\src\ActionStack.js:56:25)
         at PluginManager.doOperation
    (C:\[...]\platforms\android\cordova\node_modules\cordova-common\src\PluginManager.js:117:20)
         at PluginManager.addPlugin
    (C:\[...]\platforms\android\cordova\node_modules\cordova-common\src\PluginManager.js:147:17)
         at C:\[...]\platforms\android\cordova\Api.js:254:18
         at _fulfilled
    (C:\[...]\platforms\android\cordova\node_modules\q\q.js:854:54)
         at self.promiseDispatch.done
    (C:\[...]\platforms\android\cordova\node_modules\q\q.js:883:30)
         at Promise.promise.promiseDispatch
    (C:\[...]\platforms\android\cordova\node_modules\q\q.js:816:13)
         at C:\[...]\platforms\android\cordova\node_modules\q\q.js:624:44
    Error: Uh oh!
    "C:\[...]\platforms\android\res\xml\provider_paths.xml" already exists!
    

So, I continued with the following steps that I saw in other threads about the problem with the camera plug-in:

  • remove the Android platform.
  • plug-in ionic cordova add cordova-plugin-camera
  • → plugin installed successfully! (There I think is BIG!)

So, I am adding back the platform:

  • ionic cordova platform add android
  • and BOOM:

    > cordova platform add android --save
    × Running command - failed!
    [ERROR] Exception: Using cordova-fetch for cordova-android@~6.2.2
    Adding android project...
    Creating Cordova project for the Android platform:
            Path: platforms\android
            Package: com.app.app
            Name: app
            Activity: MainActivity
            Android target: android-25
    Subproject Path: CordovaLib
    
    Android project created with cordova-android@6.2.3
    
    Installing "com-darryncampbell-cordova-plugin-intent" for android
    Subproject Path: CordovaLib
    Installing "cordova-plugin-camera" for android
    Plugin dependency "cordova-plugin-compat@1.1.0" already fetched, using that version.
    Installing "cordova-plugin-compat" for android
    Error during processing of action! Attempting to revert...
    Failed to install 'cordova-plugin-camera': Error
         at copyNewFile
    (C:\[...]\platforms\android\cordova\lib\pluginHandlers.js:248:15)
         at install (C:\[...]\platforms\android\cordova\lib\pluginHandlers.js:43:17)
         at ActionStack.process
    (C:\[...]\platforms\android\cordova\node_modules\cordova-common\src\ActionStack.js:56:25)
         at PluginManager.doOperation
    (C:\[...]\platforms\android\cordova\node_modules\cordova-common\src\PluginManager.js:117:20)
         at PluginManager.addPlugin
    (C:\[...]\platforms\android\cordova\node_modules\cordova-common\src\PluginManager.js:147:17)
         at C:\[...]\platforms\android\cordova\Api.js:254:18
         at _fulfilled
    (C:\[...]\platforms\android\cordova\node_modules\q\q.js:854:54)
         at self.promiseDispatch.done
    (C:\[...]\platforms\android\cordova\node_modules\q\q.js:883:30)
         at Promise.promise.promiseDispatch
    (C:\[...]\platforms\android\cordova\node_modules\q\q.js:816:13)
         at C:\[...]\platforms\android\cordova\node_modules\q\q.js:570:49
    Error: Uh oh!
    "C:\[...]\platforms\android\res\xml\provider_paths.xml" already exists!
    

Final step i ran npm install -g cordova ionic

    npm WARN deprecated node-uuid@1.4.8: Use uuid module instead
    C:\Users\[...]\AppData\Roaming\npm\ionic -> C:\Users\[...]\AppData\Roaming\npm\node_modules\ionic\bin\ionic
    C:\Users\[...]\AppData\Roaming\npm\cordova -> C:\Users\[...]\AppData\Roaming\npm\node_modules\cordova\bin\cordova
    + ionic@3.9.2
    + cordova@7.0.1
    added 5 packages, removed 6 packages and updated 42 packages in 55.193s

and ionic cordova platform add android, but now he tells me:

    > cordova platform add android --save
    × Running command - failed!
    [WARN] Platform already added. Saving platforms to config.xml.
    > cordova platform save
    √ Running command - done!

and if I try ionic cordova run android:

    > cordova platform add android --save
    × Running command - failed!
    [WARN] Platform already added. Saving platforms to config.xml.
    > cordova platform saveRunning command - done!
    [INFO] Running app-scripts build: --platform android --target cordova
    [...]
    > ionic cordova prepare
    [WARN] No Cordova platforms listed in config.xml. Nothing to prepare.

    You can save your installed platforms to config.xml with the ionic cordova platform save command.
Team

ionic cordova platform save .

-------- -------- , , / ... , - -intent , :

    Error: Uh oh!
            "C:\[...]\newApp\platforms\android\res\xml\provider_paths.xml" already exists!

, , .

-------- END EDIT --------

, :

    com-darryncampbell-cordova-plugin-intent 0.0.14 "Intent Shim"
    cordova-plugin-camera 2.4.1 "Camera"
    cordova-plugin-compat 1.1.0 "Compat"
    cordova-plugin-console 1.0.5 "Console"
    cordova-plugin-device 1.1.4 "Device"
    cordova-plugin-facebook4 1.9.1 "Facebook Connect"
    cordova-plugin-file 4.3.3 "File"
    cordova-plugin-file-transfer 1.6.3 "File Transfer"
    cordova-plugin-photo-library 2.1.0 "Photo Library"
    cordova-plugin-splashscreen 4.0.3 "Splashscreen"
    cordova-plugin-2.2.2 "StatusBar"
    cordova-plugin-whitelist 1.3.1 "Whitelist"
    cordova-sqlite-storage 2.0.4 "Cordova sqlite storage plugin"
    ionic-plugin-keyboard 2.2.1 "Keyboard"

, Ionic Cordova CLI, Ionic - , .

!

+2
1

ionic3

ionic cordova run android,

, ,

cordova platform add android --save // wrong command

ionic cordova run android // right command directly add platform and run 
0

Source: https://habr.com/ru/post/1678233/


All Articles