Cordova 快速开始
参考资料:
本文索引:
- 准备
 - 安装 cordova cli
 - 创建 cordova app
 - 在 Android 上测试 cordova app
 - 使用 merges 为单独的 platform 提供定制化内容
 - 更新 cordova 及项目
 
准备
确保以下工具集已安装好:
nodejs和npm:cordova cli是一个运行在nodejs上的npm包git: 用于在安装过程中下载某些依赖git仓库的文件
安装 cordova cli
1  | $ npm install -g cordova  | 
创建 cordova app
- 导航至一个目标目录,执行 
cordova create hello - 导航至项目目录内: 
cd hello - 添加支持的 
platform: 可执行cordova platform ls查看当前已支持的platform及可支持的platform,添加对browser,ios,和android的支持cordova platform add browsercordova platform add ioscordova platform add android
 - 安装对应 
platform的 SDK: 要生成不同platform的 app,要求开发环境中必须包含编译该platform所需的 SDK,browser platform无需任何特定的 SDK,以下列出常见platform编译所需环境的参考:- Android: 参考 Android Platform Guide
 - iOS: 参考 iOS Platform Guide
 - Windows: Windows Platform Guide
 
 - 初始化: 默认情况下,
cordova create创建的是基于browser platform的项目,可在www/js/index.js中的onDeviceReady扩展初始化逻辑 - 生成: 
- 执行 
cordova requirements [platform]检查当前环境是否满足生成对应platform的要求,若不指定platform,则检查所有已支持platform的编译要求 - 执行 
cordova build [platform]生成对应platform,不指定platform则生成所有支持的platform 
 - 执行 
 
在 Android 上测试 cordova app
准备
JDK(Java Development Kit): 前往 JDK 官网 下载对应的开发套件,在 Windows 系统下需要设置JAVA_HOME环境变量至 JDK 的安装目录(参考这里)Gradle: 生成Android应用时必须的工具库,其依赖 JDK 或 JRE,参考安装指南在不同系统中安装Gradle。在 Windows 系统下需要在PATH环境变量中指定Gradle的路径(参考这里),安装完成后,检查版本:1
2
3
4$ gradle --version
------------------------------------------------------------
Gradle 4.10.2
------------------------------------------------------------Android SDK:Android Studio集成了Android SDK,可至官网下载并安装,Android Studio安装完成后,使用其集成的 SDK Manager 安装以下必备的 SDK:- Android Platform SDK
 - Android SDK build-tools: 版本 19.1.0 或更高
 - Android Support Repository
 
注意: x86 的 Android Image 要求使用硬件加速,该功能不能与 Windows 系统上的 Hyper-V 共存,在安装 Intel Hardware Accelerated Execution Manager 之前确保 Hyper-V 已被禁用
设置环境变量
当以上所有依赖的环境安装完成后,开始设置环境变量:
JAVA_HOME环境变量设置到 JDK 的安装目录ANDROID_HOME环境变量设置到Android SDK的安装目录Android SDK的tools,tools/bin及platform-tools目录添加至PATH环境变量
一切就绪之后,执行以下命令检查当前环境是否能够成功生成 Android App: 
1  | $ cordova requirements android  | 
生成 Android App:
1  | $ cordova build android  | 
在模拟器上测试 App:
1  | $ cordova emulate android  | 
或者:
1  | $ cordova run android --emulator  | 
如果手上有一台搭载 Android 系统的手机,执行 cordova run android 在真机上测试。
使用 merges 为单独的 platform 提供定制化内容
cordova 使用 merges 目录为 platform 存储定制化内容,项目顶层目录下的 merges/{platform} 目录镜像了 www 的目录结构,将希望覆盖或额外添加的内容放置在 merges/{platform} 目录下。
更新 cordova 及项目
更新 cordova:
1  | $ (sudo) npm update -g cordova  | 
更新 platform:
1  | $ cordova platform update android --save  |