【发布时间】:2017-09-07 07:50:26
【问题描述】:
首先,感谢您花时间帮助我!
总结:
尝试将 cordova-plugin-camera 添加到我的 ionic 3 项目中。 在多次失败并最终成功之后,现在我的应用不再基于我的 android 构建了。
-------- 开始编辑--------
经过多次测试,当我同时安装插件相机和网络意图时,似乎存在冲突/问题。
这两个插件都来自 Ionic Native:
- camera plugin:cordova-plugin-camera
- web-intent : com-darryncampbell-cordova-plugin-intent
-------- 结束编辑--------
我的离子信息
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 版本不兼容(可在许多论坛中找到),我无法安装相机插件。 所以我遵循了一些步骤:
- 删除了 cordova-plugin-compat v1.0.0 --force
- 已安装最新版本的 cordova-plugin-compat@1.1.0
- --> run android : 我的应用程序仍然可以在我的设备上运行(检查!)
然后我尝试安装相机插件:
- ionic cordova 插件添加cordova-plugin-camera
-
这是我得到的结果:
> 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!
然后,我继续按照我在其他线程中看到的有关相机插件问题的步骤:
- 移除安卓平台
- ionic cordova 插件添加cordova-plugin-camera
- --> 插件安装成功! (我认为,太棒了!)
所以我重新添加了平台:
ionic cordova platform add android-
和繁荣:
> 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
又是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 命令不会改变任何事情。
-------- 开始编辑 -------- 然后我尝试创建一个全新的项目并一个一个地添加插件,从相机开始,并在安装每个插件后在我的设备上重建/运行......一切都很好,直到最后一个,这是网络-intent 插件,我遇到了和以前一样的问题:
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 平台或其他任何东西才能使其正常工作。
再次感谢您的帮助!
【问题讨论】:
标签: android cordova-plugins ionic3