您的位置:首页 > 其它

4、Cordova命令行(基础知识)

2016-11-16 20:13 169 查看
翻译自cordova官方文档(如果需要链接,请自行对照原文链接进行查看):

https://cordova.apache.org/docs/en/6.x/guide/cli/index.html

Cordova命令行

本章主要介绍如何使用Cordova的命令行工具(Command-Line-Interface)

前提条件

首先在运行任何命令之前,需要安装对应平台的SDK,目前Cordova支持的开发平台主要有以下几个平台:

iOS (Mac)
Amazon Fire OS (Mac, Linux, Windows)
Android (Mac, Linux, Windows)
BlackBerry 10 (Mac, Linux, Windows)
Windows Phone 8 (Windows)
Windows (Windows)
Firefox OS (Mac, Linux, Windows)


安装Cordova

首先需要安装Nodejs环境,然后安装npm,然后使用命令:

Mac&Linux

$ sudo npm install -g cordova


Windows

C:\>npm install -g cordova

/******************************************************************
*npm是你要执行的命令
*install 是表示安装
*cordova是你要安装的软件
*-g是全局安装,这样你就可以在你的命令行任意目录下执行cordova命令了.
*如果是Windows你需要在Path中设置npm的安装路径以达到在任何目录下都能使用该命令的目的.
*****************************************************************/


安装成功以后输入如下指令可以得到版本信息表示安装成功

$ cordova -v  # 6.0.0


创建应用程序工程

命令语法:$ cordova create project_path com.project.appname appname

$ cordova create CordovaCn com.cordovacn CordovaCnApp

/******************************************************************
*cordova 执行的命令
*create 命令cordova创建工程
*project_path 创建程序根目录的名称
*com.project.appname 创建程序标识符,也就是identifier,以后可以在程序里修改,不过改的地方很多
*appname 程序名称,默认值是HelloCordova
******************************************************************/


添加平台

添加平台首先要进入到你创建的Cordova工程根目录,比如:

$ cd CordovaCn


此后,可以通过下面的命令添加对应的app需要支持的移动平台

$ cordova platformadd ios
$ cordova platformadd amazon-fireos
$ cordova platformadd android
$ cordova platformadd blackberry10
$ cordova platformadd firefoxos
/****************************************************************
*提示:在添加平台以前,最好先设置好splashscreen插件以后在进行平台的添加这样可以避免很多麻烦
*很多人经常反应说配置了splashscreen插件,但是icon和splash却还是默认图片。
*这里主要原因是很多Cordova开发者对原生开发并不熟悉,因此不会针对原生工程进行icon和splashscreen的设置
*但是如果在platform add命令以前进行设置,然后添加对应移动平台的时候,Cordova会帮你解决一切问题
***************************************************************/


通过以下命令来罗列出目前Cordova支持哪些平台以及当前工程添加了哪些平台

$ cordova platforms ls
/*****************************************************************
*运行结果如下,当前是没有添加任何支持平台,所以第一行为空
*Installed platforms:
*Available platforms: amazon-fireos, android, blackberry10, browser, firefoxos, ios, osx, webos
****************************************************************/


工程目录结构说明

myapp/|--config.xml#cordova的核心配置文件,在下一章节进行详细说明<br>
|--hooks/#该目录主要是针对Cordova做一些动作的监听,我暂时也没有详细研究,稍后补充<br>
|--www/#在对html,JavaScript,CSS文件进行编辑的时候主要是在该目录进行,而后通过prepare命令同步到各个平台目录<br>
|--platforms/#生成的针对各个平台的平台工程目录,不要编辑此目录下任何文件,除非你只发布指定平台的app<br>
||--android/||--ios/--plugins/#安装插件的时候,会将插件的原始代码存放到此文件夹。大家在使用插件遇到问题的时候,请到这个目录查找readme文件<br>


删除不需要的平台

$ cordova platformremove blackberry10
$ cordova platform rm amazon-fireos
$ cordova platform rm android


检查哪些移动平台的镜像可以更新

$ cordova platform check
#Creating Cordova project for the Android platform:#    Path: ../../../../var/folders/57/37gyvl514rj0js8485bfkqdc0000gn/T/cordova-platform-check-1457411506890/platforms/android#    Package: io.cordova.hellocordova#    Name: HelloCordova#    Activity: MainActivity#    Android target: android-22#Copying template files...#Android project created with cordova-android@4.1.1 #当前生成的android工程镜像是使用的4.1.1,可以被更新。


升级特定平台的镜像版本

$ cordova platform update android
$ cordova platform update ios
...etc.


构建应用程序

可以通过以下的命令进行对工程的构建操作

$ cordova build
$ cordova build ios // 只build ios平台


其实cordova build命令就是以下一组命令的快捷方式

$ cordova prepare ios
$ cordova compile ios


在一般情况下,如果开发者对各个移动平台的开发工具使用很熟悉的情况下。我的建议是直接使用cordova prepare来进行代码同步。同步config.xml文件的信息到指定平台的配置文件,并拷贝icons&splashscreen,拷贝plugin文件到指定平台。然后通过对应平台的开发工具来进行编译调试等工作。

$ cordova prepare ios


在模拟器测试

$ cordova emulate android


从我个人建议,我是并不建议通过Cordova的指令来对app进行调试和运行的。我还是建议使用特定平台的开发工具来进行此类操作比如Android studio,XCode,Eclipse等。

在设备运行app

$ cordova run android


清理工程,主要用于清理工程跟其他编译工具的clean功能是一样的。当项目代码出现莫名其妙问题的时候,同步的文件没有及时反应到开发环境的时候,可以尝试此操作。

$ cordova clean android


emulate,build和run命令需要一些环境配置,所以对于很多人来说经常会遇到很多麻烦。这里我还是建议大家尽可能使用Android或者ios等特定平台的指定开发工具进行调试和运行。比如Android Studio或者XCode

插件相关的命令

Cordova的插件(plugin)是Cordova为web提供的与移动平台原生api交互的桥梁,而在Cordova官方已经为大家提供了非常丰富的plugin来使用,一般情况下是不需要自己单独开发的。

如何查找插件

当你需要一个功能插件的时候,但是又不知道叫什么名字,可以通过如下命令来查找你需要的插件:

$ cordova plugin search bar code
// com.phonegap.plugins.barcodescanner - Scans Barcodes
// cordova-plugin-statusbar - Cordova StatusBar Plugin


如何安装插件

通过cordova plugin add我们可以到指定的库或者目录去安装指定的插件,下面是apache已经提供的一些基本的功能插件

//基本设备信息
$ cordova plugin add cordova-plugin-device//网络相关
$ cordova plugin add cordova-plugin-network-information//电池相关
$ cordova plugin add cordova-plugin-battery-status//速度传感器
$ cordova plugin add cordova-plugin-device-motion//指南针
$ cordova plugin add cordova-plugin-device-orientation//地理位置
$ cordova plugin add cordova-plugin-geolocation//相机相关
$ cordova plugin add cordova-plugin-camera//媒体相关
$ cordova plugin add cordova-plugin-media-capture
$ cordova plugin add cordova-plugin-media//访问设备和网络上的文件
$ cordova plugin add cordova-plugin-file
$ cordova plugin add cordova-plugin-file-transfer//对话框和手机振动
$ cordova plugin add cordova-plugin-dialogs
$ cordova plugin add cordova-plugin-vibration//联系人
$ cordova plugin add cordova-plugin-contacts//全球化
$ cordova plugin add cordova-plugin-globalization//启动画面,又叫闪屏
$ cordova plugin add cordova-plugin-splashscreen//打开新浏览器
$ cordova plugin add cordova-plugin-inappbrowser//调试控制台
$ cordova plugin add cordova-plugin-console


查看当前安装的plugin

$ cordova plugin ls # or 'plugin list'


删除plugin

$ cordova plugin rm cordova-plugin-console
$ cordova plugin remove cordova-plugin-console


安装指定Version的插件

$ cordova plugin add cordova-plugin-console@latest$ cordova plugin add cordova-plugin-console@0.2.1


安装指定位置或库的插件

$ cordova plugin add https://github.com/apache/cordova-plugin-console.git $ cordova plugin add https://github.com/apache/cordova-plugin-console.git#r0.2.0 $ cordova plugin add https://github.com/apache/cordova-plugin-console.git#CB-8438cordova-plugin-console $ cordova plugin add https://github.com/apache/cordova-plugin-console.git#f055daec45575bf08538f885e09c85a0eba363ff $ cordova plugin add https://github.com/someone/aplugin.git#:/my/sub/dir $ cordova plugin add https://github.com/someone/aplugin.git#r0.0.1:/my/sub/dir $ cordova plugin add ../my_plugin_dir


merges目录(我尝试在最新版本cordova使用该文件夹已经不起作用,后来问度娘说是新版本已经取消了使用hooks替代)

在工程根目录下创建merges目录结构如下:

merges
--android
--ios


里面存放的文件,当rebuild的时候不会被根目录www目录下的文件所覆盖,这样就可以保留针对特定平台而使用的css,js,html而不用每次build后回滚代码了。

命令帮助

$ cordova help
$ cordova        # same$ cordova run --help # 查看run命令的详细帮助$ cordova info # 查看cordova命令的详细


更新Cordova

$ sudo npm update -g cordova
$ sudo npm install -g cordova@3.1.0-0.2.0# 升级到指定版本
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  cordova 文档