首先,感谢您花时间帮助我!Ionic 3:安装cordova-plugin-camera和Native Web-intent后,Android添加平台失败
摘要:
试图将科尔多瓦 - 插件相机添加到我的离子三期工程。 许多失败后,终于成功,现在我的应用程序不再建立在我的android了。
-------- START EDIT --------
多测试后,似乎有冲突/问题,当我安装了插件的摄像头和网络的意图。
两个插件是由离子母语:
- camera plugin:科尔多瓦 - 插件相机
- web-intent:COM-darryncampbell - 科尔多瓦 - 插件意图
------ - END EDIT --------
我的离子信息
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
步骤我把(一点点的历史):
我不能安装摄像头插件由于科尔多瓦 - 插件-compat的不兼容版本(可在许多论坛上找到)。 所以我遵循一些步骤:
- 取出科尔多瓦 - 插件 - COMPAT V1.0.0 --force
- 安装最新的[email protected]
- 版本 - - >运行Android:我的应用程序仍然工作和我的设备上运行
然后我尝试安装摄像头插件:
- (检查!)离子科尔多瓦插件添加科尔多瓦 - 插件相机
这里是我回来了:
> 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 "[email protected]" 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!
那么,我接下我在有关相机插件的问题其他线程看到步骤:
- 删除Android平台
- 离子科尔多瓦插件添加科尔多瓦 - 插件相机
- - >插件成功安装! (我认为,太棒了!)
所以我加回平台:
ionic cordova platform add android
和BOOM:
> cordova platform add android --save × Running command - failed! [ERROR] Exception: Using cordova-fetch for [email protected]~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 [email protected] Installing "com-darryncampbell-cordova-plugin-intent" for android Subproject Path: CordovaLib Installing "cordova-plugin-camera" for android Plugin dependency "[email protected]" 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 [email protected]: 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
+ [email protected]
+ [email protected]
added 5 packages, removed 6 packages and updated 42 packages in 55.193s
和ionic cordova platform add android
一遍,但现在它告诉我:
> cordova platform add android --save
× Running command - failed!
[WARN] Platform already added. Saving platforms to config.xml.
> cordova platform save
√ Running command - done!
,如果我尝试ionic cordova run 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
命令不会改变任何事情。
-------- START EDIT -------- 然后我尝试创建一个全新的项目,并逐个添加插件,从相机开始,然后重建/运行我的设备安装在每个插头后......这一切工作得很好,直到最后一个,这是网络的意图插件和我有同样的问题,因为之前:
Error: Uh oh!
"C:\[...]\newApp\platforms\android\res\xml\provider_paths.xml" already exists!
卸载它,删除并重新再添加平台并重新编译并运行在设备上。
--------编辑完--------
这里是所有插件的名单上有:
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平台或其他任何设备来完成此项工作。
再次感谢您的帮助!
嗨amyogiji,感谢您的评论。无需运行应用程序就可以添加平台:_cordova platform add android_。 然后运行应用程序,用_ionic cordova运行android_,如果已经添加了平台,它将从构建开始,否则,它将从添加平台开始。 我测试了两个,并且在两个senarios中都不起作用。 顺便说一句,_cordova平台添加android --save_不是我的命令,它是自动命令完成时做_ionic cordova运行android_ – Jojo