当前位置 : 主页 > 手机开发 > cordova >

Ionic 3:安装了cordova-plugin-camera和Native Web-intent后,Android添加平台失败了

来源:互联网 收集:自由互联 发布时间:2021-06-10
首先,感谢您抽出时间帮助我! 摘要: 试图将cordova-plugin-camera添加到我的离子3项目中. 经过许多失败并最终取得成功,现在我的应用程序不再构建在我的android上了. ——–开始编辑——–
首先,感谢您抽出时间帮助我!

摘要:

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

——–开始编辑——–

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

这两个插件都来自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
> – >运行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!

那么,我继续按照我在其他线程中看到的关于相机插件问题的步骤:

>删除android平台
> ionic cordova插件添加cordova-plugin-camera
> – >插件安装成功! (在那里,我想,太棒了!)

所以我加回平台:

>离子cordova平台添加android
>和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,但现在它告诉我:

> 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.

和离子cordova平台保存命令不会改变一件事.

——–开始编辑——–
然后我尝试创建一个全新的项目并逐个添加插件,从相机开始,并在安装完每个插件后在我的设备上重建/运行…这一切都很好,直到最后一个,这是网络-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平台或其他任何东西才能使其工作.

再次感谢你的帮助!

在ionic3中你不需要添加平台

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

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

cordova platform add android --save // wrong command

正确对象,真爱

ionic cordova run android // right command directly add platform and run
网友评论