【问题标题】:How to use a more up to date Cordova plugin in Visual Studio 2017如何在 Visual Studio 2017 中使用更新的 Cordova 插件
【发布时间】:2018-03-16 11:07:56
【问题描述】:

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

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

如果我删除相机插件并重新添加它,我可以在输出窗口中看到:

警告:最新版本的项目要求未满足 cordova-plugin-camera:警告:cordova-android(项目中的 5.2.1,

=6.3.0 required)警告:获取此项目支持的最高版本的cordova-plugin-camera:2.4.1(最新版本是 4.0.2)

目前在 Visual Studio 2017 中,您可以指定使用 Cordova 6.3.1 或 Global 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>

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

【问题讨论】:

    标签: cordova visual-studio-2017 tools-for-apache-cordova


    【解决方案1】:

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

    以下是我更改为 Cordova 7.1.0cordova-android 6.3.0 所必须遵循的步骤,它肯定会让您转到 @987654321 @ 和 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 版本。

    选择Device 作为目标。

    现在Build &gt; Build Solution

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

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

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

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

    【讨论】:

    • 我自己并没有真正尝试过这个答案,因为在我进行了删除和重新添加所有插件的练习后,我遇到的崩溃就消失了。我一定是有一个与我的 Cordova 版本不兼容的插件。
    • @Colin 更改 CLI 版本后,您必须删除并重新添加所有插件。这是检查可能的不兼容性和更新插件的好习惯。很高兴这个答案对您有所帮助。
    • 绝对。但我实际上并没有更改 CLI 版本。我不需要。现在我知道该怎么做了。
    【解决方案2】:

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

    按照以下步骤操作:

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

    2. 在 Visual Studio 中进入 tools>options>"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 并按回车
    2. 从工具下载API 26 SDK
    3. 下载gradle 2.x并将bin文件夹放入系统路径
    4. 安装 jdk 1.8.x 并将 java_home 系统变量设置为它
    5. 重启系统

    希望对您有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-03-05
      • 2019-01-14
      • 2017-09-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多