Ionic 3:Android安装平台在安装cordova-plugin-camera和Native Web-intent后失败 [英] Ionic 3 : Android add platform fails after installing cordova-plugin-camera and 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:
- 相机插件:cordova-plugin-camera
- web-intent :com-darryncampbell-cordova-plugin-intent
- 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屋!