如何在Android Developer Tools中将Cordova 2.9.0升级到3.6?

Que*_*ner 4 eclipse android cordova

最近,Google收到了一条警告,要求升级我的应用以使用Cordova 3.5.1,因为之前的版本可能存在安全漏洞.我看到最新版本的Cordova是3.6,所以我不妨升级到那个.

我正在使用基于Eclipse的Android开发者工具来构建我的Android应用程序.我想做的就是用版本3.6替换Cordova 2.9.0,然后重建应用程序并将其上传到市场.

一年前我经历了所有这些事情,但我正在努力回顾我如何设置它的步骤.Eclipse界面不是直观且易于使用的.它甚至没有明显如何打开现有项目.此外,似乎Cordova已经改变,这不仅仅是替换现有.jar文件的问题.自从我上次处理这件事以来,情况发生了很大的变化.

如何在使用Google的Android开发工具(ADT)的情况下将Cordova升级到最新版本?具体来说,我想让现有的ADT项目使用新的Cordova版本.

ajh*_*158 6

更新的答案:

自2.9.0以来,一些重要的事情发生了变化 因此,Cordova 2.9.0项目的结构与Cordova 3+不兼容.

最重要的变化之一是在Cordova 3.0中,所有API都从框架移动到插件中.这意味着对于您使用的任何Cordova API,在3.0+项目中,您需要在这些API可用之前向项目添加插件.例如,在Cordova 2.9.0中,Cordova Camera API内置在Cordova框架中,因此您可以调用navigator.camera.getPicture(successCB,errorCB,options)而无需向项目添加任何插件.从Cordova 3.0开始,您需要将Cordova Camera插件添加到项目中才能进行相同的调用.

仅使用Android Developer Tools无法从2.9.0升级到3.6.0.升级的方法不止一种,但我建议您按照官方文档中升级等级中的步骤进行操作.升级指南仅列出了增量步骤,如果您从2.9.0开始没有进行任何Cordova开发,这可能会令人困惑,所以这里是基于"升级Android"指南中定义的增量步骤的2.9.0到3.6.0摘要官方文件.

您需要完成几个步骤.

  1. 备份您的原始项目,以防出现问题,您需要重新开始.如果安装了cordova 2.9.0,请创建一个新的空白项目.您可以使用此作为基线来查找使用diff工具添加的自定义资产.这可能在第4步中有所帮助.

  2. 按照官方文档中的说明安装cordova 3.6.0 .

  3. 使用项目的包名称和应用程序标题创建一个新的cordova项目:

cordova create projectPath projectPackage projectName

  1. 切换到项目目录并添加Android平台:

cd projectPath cordova platform add android

  1. 将自定义项目资产从原始项目复制到新项目中.
    一个.assets/www的内容不包括config.xml,cordova_plugins.js,cordova_plugins.json和cordova.js.
    湾 res/drawable*
    c 的内容.根据您的项目,您可能需要复制其他本机资产 - 但要小心覆盖文件 - 在某些情况下,您可能需要将自定义内容复制到新项目中的现有文件中,而不是覆盖它.如有疑问,请并排比较文件.

  2. 安装所需的任何"核心"插件.您需要确定项目使用的Cordova API,然后确定提供它们的插件.在大多数情况下,您应该可以参考侧栏中Cordova 2.9.0 API Reference来查看哪个Cordova 2.9.0对象提供了您使用的API,然后将其与Cordova 3.6中的相应插件进行匹配. 0插件API列表.在某些情况下,名称已被更改,但在大多数情况下,找到所需的插件应该很简单.例如,要安装相机插件,您将在项目的根目录中运行以下命令(不是在平台/ android的android根目录中,而是在top-lvel根目录中):

cordova plugin add org.apache.cordova.camera

  1. 处理自定义插件.如果您使用任何自定义插件,则需要更新到与Cordova 3.6.0兼容的较新版本.

  2. 更新您的项目以考虑API更改.自2.9.0以来,一些API发生了很大变化 - 这可能需要您进行代码更改.


原始答案: 以下是介绍如何从2.9.0升级到最新版本的官方文档.

不幸的是,自2.9.0以来,目录结构已经改变了几次,所以你必须手动移动一些文件.

如果您在遵循记录的步骤时遇到问题,请发表评论并尝试提供帮助.