本章是参考手册,不需要全部学习,用到查阅就可以。
CLI 语法
cordova <command> [选项] -- [平台专属参数]Code language: CSS (css)
全局命令列表
无需进入 Cordova 项目目录即可执行
| 命令 | 说明 |
|---|---|
| create | 创建新项目 |
| help | 查看指定命令帮助文档 |
| config | 设置、查询、删除、编辑、列出 Cordova 全局配置项 |
项目命令列表
必须在有效的 Cordova 项目根目录执行
| 命令 | 说明 |
|---|---|
| info | 输出项目环境信息 |
| requirements | 检测并打印对应平台所需全部依赖环境 |
| platform | 管理项目平台(Android/iOS/Browser等) |
| plugin | 管理项目插件 |
| prepare | 将资源文件复制到各平台目录,为编译做准备 |
| compile | 编译指定平台项目 |
| build | 构建应用(等价 prepare + compile) |
| clean | 清理平台编译产生的缓存产物 |
| run | 运行应用(内部执行 prepare + compile + 部署启动) |
| serve | 启动本地 Web 服务器预览网页资源(内部执行 prepare) |
通用选项(全部 CLI 命令支持)
| 参数 | 说明 |
|---|---|
| -d / –verbose | 输出详细日志。如果你在 Node 代码中调用 cordova-cli,可监听 log、warn 事件获取日志:cordova.on('log', ()=>{}) |
| -v / –version | 打印当前 Cordova CLI 版本 |
| –nohooks | 禁止执行钩子脚本(hook),支持正则过滤钩子 |
平台专属参数说明
部分命令支持平台自定义参数(platformOpts)。
需要使用 -- 作为分隔符:-- 之前由 Cordova CLI 解析,-- 之后所有参数直接透传给对应原生平台构建工具。
CLI 使用示例
演示完整工作流:
- 创建项目
- 安装相机插件
- 添加 Android 平台
- 编译、运行 Android
- 使用 Android 签名参数打正式包
# 创建项目
cordova create myApp com.foxdevelop.myApp myApp
cd myApp
# 添加相机插件
cordova plugin add cordova-plugin-camera
# 添加 Android 平台
cordova platform add android
# 检测 Android 编译环境依赖
cordova requirements android
# 编译 Android(输出详细日志)
cordova build android --verbose
# 在设备/模拟器运行 App
cordova run android
# Release正式包并传入签名参数
cordova build android --release -- --keystore="..\android.keystore" --storePassword=android --alias=mykeyCode language: PHP (php)
各命令详细说明
cordova create
创建 Cordova 项目目录结构。
语法:
cordova create path [包ID [应用名称]] [选项]Code language: CSS (css)
参数
| 值 | 说明 |
|---|---|
| path | 项目文件夹(文件夹不能预先存在,CLI自动创建) |
| id | 包标识,默认:org.apache.cordova.hellocordova反向域名格式,对应 config.xml 的 widget id;会用于生成 Java 包名,建议合理设置 |
| name | 应用显示名称,默认:Hello Cordova对应 config.xml name,会生成为原生项目类名 |
选项
--template:使用本地/NPM/GitHub 自定义模板创建项目
cordova create myapp com.mycompany.myteam.myapp MyAppCode language: CSS (css)
cordova platform
管理平台:新增、移除、更新、列出平台。增删平台会修改项目 platforms 目录。
cordova {platform | platforms} [
add <平台描述> [...] {--save | link=<路径> } |
{remove | rm} 平台 [...] {--save}|
{list | ls} |
update ]Code language: HTML, XML (xml)
子命令与参数
| 子命令 | 参数 | 说明 |
|---|---|---|
| add <平台描述> | 添加平台 | |
| –nosave | 安装后不将平台信息写入 config.xml / package.json | |
| –link= | 使用本地平台源码时创建软链接,而非复制文件(平台开发调试使用) | |
| remove <平台> | 删除平台 | |
| –nosave | 删除平台,但不移除 config.xml / package.json 内记录 | |
| update <平台> | 更新平台版本 | |
| –save | 更新 config.xml 内记录的平台版本 | |
| list / ls | 列出所有已安装与可用平台 |
平台描述格式 <platform-spec>
平台[@版本号] | 本地路径 | Git地址[#分支/tag/commit]Code language: PHP (php)
- platform:平台名称 android / ios / browser / electron
- version:语义化版本 semver,例如
^13.0.0 - path:本地平台源码目录 / tar压缩包
- url:Git仓库地址
- commit-ish:指定分支、tag、commit哈希;不写默认 master
支持平台
android、browser、electron、ios
# 添加Android+iOS,并写入配置文件
cordova platform add android ios
# 指定版本添加Android平台
cordova platform add android@^13.0.0
# 从Git仓库指定tag安装平台
cordova platform add https://github.com/myfork/cordova-android.git#13.0.0
# 本地目录安装平台
cordova platform add ../android
# 删除Android平台
cordova platform rm android
# 查看所有平台
cordova platform lsCode language: PHP (php)
cordova plugin
管理项目插件
cordova {plugin | plugins} [
add <插件描述> [..] {--searchpath=<目录> | --noregistry | --link | --save | --force} |
{remove | rm} {<插件ID> | <名称>} --save |
{list | ls}
]Code language: HTML, XML (xml)
子命令参数
| 子命令 | 参数 | 说明 |
|---|---|---|
| add <插件描述> | 添加插件 | |
| –searchpath <目录> | 查找插件时优先检索本地目录,多路径分隔:Windows ;、Linux/Mac : | |
| –noregistry | 不从npm官方仓库拉取插件 | |
| –link | 本地插件目录安装时创建软链接(插件开发调试) | |
| –nosave | 不写入 config.xml / package.json | |
| –force | 强制覆盖冲突文件(6.1版本新增) | |
| remove | 删除插件 | |
| –nosave | 删除插件但保留配置文件记录 | |
| list / ls | 列出已安装插件 |
插件描述格式 <plugin-spec>
[@scope/]插件ID[@版本] | 本地目录 | Git地址[#commit][:子目录]Code language: PHP (php)
插件解析优先级(由高到低)
- 命令行显式指定的插件与版本
- config.xml / package.json 保存的插件信息
- npm上兼容当前项目的最新版本(插件package.json声明cordova依赖)
- npm上插件最新版本
# 安装相机、文件插件,优先从../plugins查找
cordova plugin add cordova-plugin-camera cordova-plugin-file --searchpath ../plugins
# 指定版本安装
cordova plugin add cordova-plugin-camera@^2.0.0
# 本地目录安装插件
cordova plugin add ../cordova-plugin-camera
# 删除插件
cordova plugin rm cordova-plugin-camera
# 查看插件列表
cordova plugin lsCode language: PHP (php)
插件冲突说明
部分插件通过 plugin.xml 的 edit-config 修改原生配置文件。
多个插件同时修改同一个XML节点会产生冲突,CLI默认阻止安装。
解决方式:
- 修改插件 plugin.xml,避免修改同一节点(推荐)
- 使用
--force强制安装(⚠️ 风险:会覆盖其他插件修改,可能导致其他插件失效)
cordova prepare
将 config.xml 配置同步到各平台原生清单文件;复制图标、启动图、插件资源;使项目满足原生SDK编译条件。
cordova prepare [平台名称...]Code language: CSS (css)
不指定平台则全部执行。
cordova compile
仅执行编译,不会执行 prepare。一般直接使用 build,多用于钩子扩展场景。
cordova compile [平台...]
[--debug | --release]
[--device | --emulator | --target=<名称>]
[--buildConfig=<文件>]
[-- 平台参数]Code language: CSS (css)
cordova build
等价 prepare + compile,构建应用包。
cordova build [平台...]
[--debug | --release]
[--device | --emulator]
[--buildConfig=<配置文件>]
[-- 平台参数]Code language: CSS (css)
| 参数 | 说明 |
|---|---|
| –debug | Debug调试包 |
| –release | Release正式发行包 |
| –device | 构建适用于真机的包 |
| –emulator | 构建模拟器架构包 |
| –buildConfig | 指定构建配置文件,默认项目根目录 build.json,常用于签名配置 |
cordova build android --release --buildConfig=build.json
cordova build android --release -- --keystore="app.keystore" --alias=key0Code language: JavaScript (javascript)
cordova run
执行 prepare → build → 将应用部署到真机/模拟器并启动。
cordova run [平台...]
[--list | --debug | --release]
[--noprepare]
[--nobuild]
[--device | --emulator | --target=<名称>]
[--buildConfig=<文件>]
[-- 平台参数]Code language: CSS (css)
| 参数 | 说明 |
|---|---|
| –list | 列出所有可用真机、模拟器设备 |
| –noprepare | 跳过prepare(6.2+) |
| –nobuild | 跳过编译,直接部署已有安装包 |
| –target | 指定模拟器/设备名称,配合 --list 查询名称 |
示例:
# 列出设备
cordova run android --list
# 指定模拟器运行
cordova run android --target=Nexus_5_API_23_x86
# 不重新编译,直接运行
cordova run android --nobuildCode language: PHP (php)
cordova emulate
cordova run --emulator 的别名,仅在模拟器启动应用。
cordova clean
清理各平台编译缓存产物
cordova clean android
cordova requirements
检测平台所需全部环境依赖(JDK、Android SDK、Xcode等)
cordova requirements android
所有依赖满足返回退出码0,缺失依赖返回非0,常用于自动化构建环境校验。
cordova info
输出完整环境、平台、插件信息,提交bug反馈必备。
cordova info
cordova serve
启动本地 Web 服务预览 www 网页资源,默认端口8000
cordova serve 8080
# 访问地址:http://127.0.0.1:8080/android/wwwCode language: PHP (php)
cordova help
查看命令帮助
cordova help build
cordova build -h
cordova config
管理 Cordova 全局配置
cordova config ls # 列出全部配置
cordova config set save-exact true
cordova config get save-exact
cordova config delete save-exact
cordova config editCode language: PHP (php)