我最近将相机和文件插件添加到我的Ionic 1.3 / Cordova应用程序中,现在该应用程序在我正在使用的Android设备上间歇性地崩溃。
当我实际使用插件时,崩溃不会发生,但是我想看看如果我使用了更新的插件,问题是否会消失。
如果我删除了Camera插件并再次添加,我可以在输出窗口中看到:
警告:最新版本的未满足的项目要求 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或全局Cordova版本的工具集,因此我想我会尝试使用最新版本的Cordova并在命令行中输入:npm install -g cordova
。我不得不重新启动计算机,但现在在我的config.xml中我可以选择" Global Cordova 8.0.0"。
现在,为了使用最新的Camera插件,我需要获得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的工具集,我是否必须保留所有内容的副本并手动安装或者我可以去返回并再次选择6.3.1工具集?
答案 0 :(得分:3)
在Visual Studio 2017中更改Cordova CLI版本并不像显示的那样简单。
以下是我必须遵循的步骤才能更改为 Cordova 7.1.0 和 cordova-android 6.3.0 ,当然它会允许您转到{{ 3}}和Cordova 8.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 > Build Solution
保存,关闭并重新加载项目。在设计师模式下访问config.xml
时,您会看到 Global Cordova 8.0.0 作为所选工具集。
为了构建,您可能需要使用外部Android SDK构建工具(我想是API 27 - 它是CLI 7.1的API 26)而不是Visual Studio(API 25)提供的那些。
答案 1 :(得分:1)
经过几次尝试后我找到了一种方法:
请按照以下步骤操作:
在您的计算机上安装nodejs 4.8.7
进入工具&gt;选项&gt;&#34;用于apache cordova的工具&#34;和deflag chekbox &#34;使用沙盒版本的NodeJS&#34;
修改项目的 taco.json 文件并设置&#34; cordova-cli&#34;:&#34; 7.1.0&#34;
打开一个新控制台并在您的计算机上安装cordova( npm install -g cordova@7.1.0 )
对于android build:
希望有所帮助。