2017-09-07 61 views
1

首先,感谢您花时间帮助我!Ionic 3:安装cordova-plugin-camera和Native Web-intent后,Android添加平台失败

摘要:

试图将科尔多瓦 - 插件相机添加到我的离子三期工程。 许多失败后,终于成功,现在我的应用程序不再建立在我的android了。

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

多测试后,似乎有冲突/问题,当我安装了插件的摄像头和网络的意图。

两个插件是由离子母语:

------ - 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平台或其他任何设备来完成此项工作。

再次感谢您的帮助!

回答

0

在ionic3你不需要添加平台

你只要运行ionic cordova run android它automaticaly addeds它

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

cordova platform add android --save // wrong command 

right one

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

嗨amyogiji,感谢您的评论。无需运行应用程序就可以添加平台:_cordova platform add android_。 然后运行应用程序,用_ionic cordova运行android_,如果已经添加了平台,它将从构建开始,否则,它将从添加平台开始。 我测试了两个,并且在两个senarios中都不起作用。 顺便说一句,_cordova平台添加android --save_不是我的命令,它是自动命令完成时做_ionic cordova运行android_ – Jojo