Ionic 3:Android安装平台在安装cordova-plugin-camera和Native Web-intent后失败 [英] Ionic 3 : Android add platform fails after installing cordova-plugin-camera and Native Web-intent

查看:2565
本文介绍了Ionic 3:Android安装平台在安装cordova-plugin-camera和Native Web-intent后失败的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

首先,感谢您抽出时间帮助我!

And first of all, thank you for the time you'll take to help me!

摘要:

试图将cordova-plugin-camera添加到我的离子3项目中。
在很多次失败并最终成功后,现在我的应用程序不再构建在我的android上了。

Tried to add the cordova-plugin-camera to my ionic 3 project. After many fails and finally a success, now my app does not build on my android anymore.

--------开始编辑 - ------

-------- START EDIT --------

经过多次测试后,当我同时安装了插件摄像头和web-intent时,似乎存在冲突/问题。

After much tests, it seems that there is a conflict/issue when I have both plugins camera and web-intent installed.

两个插件均来自Ionic Native:

Both plugins are from Ionic Native:

  • camera plugin : cordova-plugin-camera
  • web-intent : com-darryncampbell-cordova-plugin-intent

--------结束编辑--------

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

My ionic Info

My ionic Info

    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

我采取的步骤(有点历史):

由于cordova-plugin的版本不兼容,我无法安装相机插件-compat(可以在很多论坛中找到)。
所以我遵循了一些步骤:

I could not install the camera plugin due to an incompatible version of the cordova-plugin-compat (can be found in lots of forums). So I've followed some of the steps:


  • 删除了cordova-plugin-compat v1.0.0 --force

  • 已安装最新版本的cordova-plugin-compat@1.1.0

  • - >运行android:我的应用程序仍在我的设备上运行并运行(检查!)

然后我尝试安装相机插件:

Then I try to install the camera plugin :


  • 离子cordova插件添加cordova-plugin-camera

  • 以下是我的回复:

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

> 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 then, I continued following steps I've seen in other threads about the camera plugin issue:


  • 删除安卓平台

  • ionic cordova插件添加cordova-plugin-camera

  • - >插件已成功安装! (我想,太棒了!)

所以我加回平台:


  • 离子cordova平台添加android

  • 和BOOM:

  • 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!


最后一步,我已经 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

并且离子cordova平台再次添加android ,但现在它告诉我:

and ionic cordova platform add android again, but now it 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!

如果我尝试离子cordova运行android

    > cordova platform add android --save
    × Running command - failed!
    [WARN] Platform already added. Saving platforms to config.xml.
    > cordova platform save
    √ Running 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.

ionic cordova platform save command doesn'改变一件事。

and ionic cordova platform save command doesn't change a thing.

--------开始编辑--------
然后我尝试创建一个全新的项目并逐一添加插件,从相机一个开始,并在每个插件安装后重新设置/运行在我的设备上...这一切都正常,直到最后一个,这是web-intent插件,我得到了和以前一样的问题:

-------- START EDIT -------- Then I tried creating a brand new project and added the plugins one by one, starting with the camera one, and rebuilding/running on my device after every plug in installed... it all worked fine until the last one, which was the web-intent plug-in and I got the same issue as before :

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

卸载它,删除并重新添加平台,然后再次构建,编译和运行设备工作。

Uninstalled it, removed and re added the platform and build, compile and run on device workes again.

--------结束编辑--------

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

这是我拥有的所有插件的列表:

Here is the list of all the plugins I have:

    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或cordova平台或任何东西否则让这项工作。

Not sure if I need to downgrade Ionic or Cordova CLI, Ionic or cordova platform or anything else to make this work.

再次感谢您的帮助!

推荐答案

in ionic3你不需要添加平台

in ionic3 you don't need to add platform

你只需运行离子cordova运行android 它自动添加它

you just run ionic cordova run android it automaticaly addeds it

这也是错误的命令据我所知他们没有这样的命令

also this is wrong command their is no such command as far as i know

cordova platform add android --save // wrong command

右一个

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

这篇关于Ionic 3:Android安装平台在安装cordova-plugin-camera和Native Web-intent后失败的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆