Apache Cordova是一个开放源代码的移动开发框架。它允许您使用标准的Web技术-HTML5,CSS3和JavaScript进行跨平台开发。应用程序在针对每个平台的包装器中执行,并依赖于符合标准的API绑定来访问每个设备的功能,例如传感器,数据,网络状态等。简单来说就是将h5打包成一个app,允许页面调用android的API设备。

cordova运行项目环境:

如果使用npm安装cordova,在创建项目时报错,请查看3三步。

1.创建cordova项目

安装cordova

Cordova命令行在Node.js上运行,并且在NPM上可用。请遵循特定于平台的指南来安装其他平台依赖项。打开命令提示符或终端,然后键入

$ npm install -g cordova

安装cordova后,输入

$ cordova -version

命令框提示出cordova版本就表示cordova成功安装

创建一个项目

创建一个包名为com.example.hello的Helloworld项目

$ cordova create hello com.example.hello HelloWorld

创建成功后,进入项目

$ cd hello 

项目结构

hello
|--hooks
   |--README.md
|--platforms     #平台
|--plugins       #存放插件
|--www           #web工程
   |--css
      |--index.css
   |--img
      |--logo.png
   |--js
      |--index.js
   |--index.html
|--config.xml
|--package.json

添加应用平台

将添加iosandroid平台,并确保将它们保存到config.xmlpackage.json

$ cordova platform add ios
$ cordova platform add android

查看安装的平台

$ cordova platform ls

要检查您是否满足构建平台的要求:

$ cordova requirements
Requirements check results for android:
Java JDK: installed .
Android SDK: installed
Android target: installed android-19,android-21,android-22,android-23,Google Inc.:Google APIs:19,Google Inc.:Google APIs (x86 System Image):19,Google Inc.:Google APIs:23
Gradle: installed

Requirements check results for ios:
Apple OS X: not installed
Cordova tooling for iOS requires Apple OS X
Error: Some of requirements check failed

运行cordova项目

默认情况下,cordova create脚本会生成一个基于骨骼的基于Web的应用程序,其起始页面为项目的www/index.html文件。任何初始化都应指定为www/js/ index.js中定义的deviceready事件处理程序的一部分。

# 运行android
$ cordova run android

# 运行ios
$ cordova run ios

# 运行浏览器(需要添加浏览平台  cordova platform add browser)
$ cordova run browser

2.添加插件

# 添加插件
$ cordova plugin add cordova-plugin-camera

# 查看插件
$ cordova plugin ls

# 移除插件
$ cordova plugin remove cordova-plugin-camera

3.cordova创建项目出错

Cordova create project error 解决方法

使用npm安装cordova,然后使用cordova create oo报错

Error: Uncaught, unspecified "error" event. (  Error from Cordova Fetch: Error:
cmd: Command failed with exit code 4294963238 Error output:
npm ERR! not a package C:\Users\Administrator\AppData\Roaming\npm\node_modules\c
ordova\node_modules\.3.12.0@cordova-app-hello-world\index.js
npm ERR! addLocal Could not install C:\Users\Administrator\AppData\Roaming\npm\n
ode_modules\cordova\node_modules\.3.12.0@cordova-app-hello-world\index.js
npm ERR! Windows_NT 6.1.7601
npm ERR! argv "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\
node_modules\\npm\\bin\\npm-cli.js" "install" "C:\\Users\\Administrator\\AppData
\\Roaming\\npm\\node_modules\\cordova\\node_modules\\.3.12.0@cordova-app-hello-w
orld\\index.js"
npm ERR! node v6.10.1
npm ERR! npm  v3.10.10
npm ERR! path C:\Users\ADMINI~1\AppData\Local\Temp\npm-5648-2836ec66\unpack-bfff
7e3c\package.json
npm ERR! code ENOENT
npm ERR! errno -4058
npm ERR! syscall open

npm ERR! enoent ENOENT: no such file or directory, open 'C:\Users\ADMINI~1\AppDa
ta\Local\Temp\npm-5648-2836ec66\unpack-bfff7e3c\package.json'
npm ERR! enoent ENOENT: no such file or directory, open 'C:\Users\ADMINI~1\AppDa
ta\Local\Temp\npm-5648-2836ec66\unpack-bfff7e3c\package.json'
npm ERR! enoent This is most likely not a problem with npm itself
npm ERR! enoent and is related to npm not being able to find a file.
npm ERR! enoent

npm ERR! Please include the following file with any support request:
npm ERR!     C:\Users\Administrator\.cordova\node_modules\npm-debug.log)

猜测可能是cordova 和 npm的版本冲突了,使用yarn来安装,小菜亲测成功

解决方法

yarn global add cordova

cordova 教程

cordova 安装创建项目(1) cordova 自定义使用插件(2) cordova-plugin-wechat 微信登录(3) android 微信登录报错 android QQ报错