如何在 Visual Studio 2017 中使用更新的 Cordova 插件

How to use a more up to date Cordova plugin in Visual Studio 2017

我最近将相机和文件插件添加到我的 Ionic 1.3/Cordova 应用程序,现在该应用程序在我使用的 Android 设备上间歇性崩溃。

当我实际使用插件时并没有发生崩溃,但是我想看看如果我使用更多最新的插件问题是否会消失。

如果我删除相机插件并再次添加,我可以在输出中看到这个 window:

Warning: Unmet project requirements for latest version of cordova-plugin-camera: Warning: cordova-android (5.2.1 in project,

=6.3.0 required) Warning: Fetching highest version of cordova-plugin-camera that this project supports: 2.4.1 (latest is 4.0.2)

目前在 Visual Studio 2017 年,您可以指定使用 Cordova 6.3.1 或全局 Cordova 版本的工具集,所以我想我会尝试使用最新版本的 Cordova 并在命令行上输入:npm install -g cordova。我不得不重新启动计算机,但现在在 config.xml 中我可以选择 "Global Cordova 8.0.0"。

现在,为了使用最新的相机插件,我需要获取 cordova-android 平台 >=6.3.0。但是如果我使用 cordova platform add android,它会失败,因为该命令需要在基于 Cordova 的项目中 运行。

所以我导航到我现有的项目文件夹并再次 运行 cordova platform add android。它试图获取 cordova-android@5.2.1 - 所以我猜它现在使用的是 cordova 6.3.1,因为那是本地版本。 <edit>错了! - cordova -v 告诉我它是 8.0.0,所以它一定是出于其他原因选择了 5.2.0</edit>

那么我现在需要做什么?我需要从命令行卸载本地 cordova 吗?我是否删除现有的 node_modules、平台、插件文件夹?我要更改 config.xml 吗? (当前示例条目:- <plugin name="cordova-plugin-camera" spec="~2.4.1" />。如果我做了所有这些然后决定我需要返回使用 Visual Studio 的工具集,我是否必须保留所有内容的副本并手动安装或者我可以返回并再次 select 6.3.1 工具集?

经过几次尝试,我找到了一个方法:

按照以下步骤操作:

  1. 在你的机器上安装 nodejs 4.8.7

  2. 在 visual studio 下工具>选项>"Tools for apache cordova" 和 deflag chekbox "use a sandboxed version of NodeJS"

  3. 编辑项目的taco.json文件并设置"cordova-cli": "7.1.0"

  4. 打开一个新控制台并在您的机器上安装 cordova (npm install -g cordova@7.1.0)

对于android构建:

  1. 打开提示,数字android然后按return
  2. 从工具
  3. 下载API26 SDK
  4. 下载gradle2.x并将bin文件夹放入系统路径
  5. 安装jdk 1.8.x并设置java_home系统变量
  6. 重启系统

希望对您有所帮助。

在 Visual Studio 2017 年更改 Cordova CLI 版本并不像看起来那么简单。

这是我更改为 Cordova 7.1.0cordova-android 6.3.0[=59= 必须遵循的步骤], 当然它也会让你移动到 Cordova 8.0 and cordova-android 7.1.0

按照以下步骤操作:

转到File > New > Project > Blank App (Apache Cordova)

在查看代码模式下打开 config.xml 并找到:

<vs:toolsetVersion>6.3.1</vs:toolsetVersion>
<engine name="android" spec="5.2.1" />

替换为:

<vs:toolsetVersion>8.0.0</vs:toolsetVersion>
<engine name="android" spec="7.1.0" />

其中 8.0.0 是您全局安装的 Cordova 版本。

Select Device 作为目标。

现在Build > Build Solution

保存、关闭并重新加载项目。当您在设计器模式下访问 config.xml 时,您会看到 Global Cordova 8.0.0 作为选定的工具集。

为了构建您可能需要使用外部 Android SDK 构建工具(我猜是 API 27 - 对于 CLI 7.1.0 是 API 26)而不是Visual Studio (API 25).

提供的

使用 管理版本,无需为此获取 Android Studio。

请记住在更改现有项目的 CLI 时遵循 the guidelines from Microsoft。但是,我强烈建议创建一个新文件,然后导入您的文件并添加您的插件以避免潜在问题。