添加平台andorid

时间:2018-07-27 08:21:41

标签: android cordova ionic-framework

出什么问题了?我正在尝试为我的应用程序添加android平台。我之前使用的是Ionic 3.2.0。现在是Ionic 4.0.1。我试图将ionic降级到3.2.0,然后添加平台,但是它说,cordova-未知命令,大声笑,发生了什么事?

以下是输出:

...
Installing "cordova-plugin-file-transfer" for android
Plugin dependency "cordova-plugin-file@6.0.1" already fetched, using that version.
Dependent plugin "cordova-plugin-file" already installed on android.
Adding cordova-plugin-file-transfer to package.json
Saved plugin info for "cordova-plugin-file-transfer" to config.xml
Discovered plugin "cordova-plugin-filepath" in config.xml. Adding it to the project
Installing "cordova-plugin-filepath" for android
Adding cordova-plugin-filepath to package.json
Saved plugin info for "cordova-plugin-filepath" to config.xml
Discovered plugin "com-sarriaroman-photoviewer" in config.xml. Adding it to the project
Failed to restore plugin "com-sarriaroman-photoviewer" from config.xml. You might need to try adding it again. Error: Failed to fetch plugin com-sarriaroman-photoviewer@^1.1.18 via registry.
Probably this is either a connection problem, or plugin spec is incorrect.
Check your connection and plugin name/version/URL.
Failed to get absolute path to installed module
Discovered plugin "cordova-plugin-geolocation" in config.xml. Adding it to the project
Installing "cordova-plugin-geolocation" for android
Adding cordova-plugin-geolocation to package.json
Saved plugin info for "cordova-plugin-geolocation" to config.xml
Discovered plugin "cordova-plugin-insomnia" in config.xml. Adding it to the project
Installing "cordova-plugin-insomnia" for android
Adding cordova-plugin-insomnia to package.json
Saved plugin info for "cordova-plugin-insomnia" to config.xml
Discovered plugin "cordova-plugin-firebase" in config.xml. Adding it to the project
Installing "cordova-plugin-firebase" for android
Subproject Path: CordovaLib
Subproject Path: app
Adding cordova-plugin-firebase to package.json
Saved plugin info for "cordova-plugin-firebase" to config.xml
Preparing Firebase on Android
--save flag or autosave detected
Saving android@~7.0.0 into config.xml file ...
[ERROR] ShellCommandError: Non-zero exit from subprocess. { name: 'ShellCommandError', code:
        'ERR_ICF_SHELL_NON_ZERO_EXIT', exitCode: 1, signal: undefined } Error

             at new BaseError
        (C:\Users\volkk\AppData\Roaming\npm\node_modules\ionic\node_modules\@ionic\cli-framework\errors.js:15:23)
             at new ShellCommandError
        (C:\Users\volkk\AppData\Roaming\npm\node_modules\ionic\node_modules\@ionic\cli-framework\errors.js:47:9)
             at ChildProcess.p.on
        (C:\Users\volkk\AppData\Roaming\npm\node_modules\ionic\node_modules\@ionic\cli-framework\utils\shell.js:99:33)
             at emitTwo (events.js:126:13)
             at ChildProcess.emit (events.js:214:7)
             at ChildProcess.cp.emit
        (C:\Users\volkk\AppData\Roaming\npm\node_modules\ionic\node_modules\cross-spawn\lib\enoent.js:40:29)
             at maybeClose (internal/child_process.js:925:16)
             at Process.ChildProcess._handle.onexit (internal/child_process.js:209:5)

离子信息:

C:\Users\volkk\Desktop\CargoTenderApp>ionic info

Ionic:

   ionic (Ionic CLI)  : 4.0.1 (C:\Users\volkk\AppData\Roaming\npm\node_modules\ionic)
   Ionic Framework    : ionic-angular 3.9.2
   @ionic/app-scripts : 3.1.10

Cordova:

   cordova (Cordova CLI) : 8.0.0
   Cordova Platforms     : android 7.0.0

System:

   Android SDK Tools : 26.1.1
   NodeJS            : v8.9.4 (C:\Program Files\nodejs\node.exe)
   npm               : 5.6.0
   OS                : Windows 10

Environment:

   ANDROID_HOME : C:\android

3 个答案:

答案 0 :(得分:3)

我今天遇到了同样的问题。在尝试了几件事之后,它得到了修复。不知道是什么原因造成的。

您可以尝试这些步骤吗?

首先,在删除node_modules,平台和插件目录之后,执行干净的npm安装。然后运行以下命令。

  1. 运行命令。

    ionic cordova platform remove ios --save

  2. 运行命令

    ionic cordova platform remove android --save

  3. 重新添加iOS平台

    ionic cordova platform add ios --save

  4. 重新添加Android平台

    ionic cordova platform add android --save

还尝试将@ ionic / app-scripts更新到版本3.1.11

答案 1 :(得分:0)

类似的问题。就在抛出此错误之前,我有:

Failed to restore plugin "cordova-plugin-facebook4" from config.xml

package.jsonconfig.xml中存在对此包的引用,并指向github存储库。

由于引用已经在config.xml中,因此将其从package.json中删除就可以了。

"cordova-plugin-facebook4": "git+https://github.com/Bilbayt/cordova-plugin-facebook4.git",

它仅在Windows上发生。

答案 2 :(得分:0)

这对我有用:

npm i -g cordova

cordova没有安装到我的机器中