一。cordova简介
Cordova 是使用HTML,CSS和JS构建移动应用的平台。我们可以认为Cordova是一个工具,用于将我们的网络应用程序(javascript)与本机移动功能连接。默认情况下,Web应用程序不能直接调用本机移动功能。这就是Cordova进来的地方。它为网络应用和移动设备之间的连接提供了桥梁(cordova插件)。 通过使用cordova,我们可以通过html中js调用方式使用摄像头,地理位置,文件系统和其他本地移动功能。
二。cordova常用操作一览
1.安装cordova
确保安装了nodejs 参考(https://blog.csdn.net/liaomin416100569/article/details/81746168)
npm install -g cordova
2 。创建cordova项目
cordova create hello com.example.hello HelloWorld
命令语法是:
cordova create 创建目录 app的id app的名称
常见的项目目录结构为(参考http://cordova.axuer.com/docs/zh-cn/latest/reference/cordova-cli/index.html#directory-structure):

config.xml :用于定制项目的行为 比如项目id 名称 作者 能使用的intent(android的意图),app访问的首页对应html文件(比如<content src="index.html" />) 可以生成的平台 可以使用的插件等 具体配置 参考(http://cordova.apache.org/docs/en/latest/config_ref/index.html)
www :是程序员编写css js和html的位置 index.html是config.xml配置的首页 css目录是样式表 fonts字体 img图片 js 脚本
www目录下的所有文件最后都会生成到不同的platforms下 比如 android平台
ios会生成在platforms/ios/www目录下
platforms:所有的源代码都会构建到这个目录下
plugins: 所有的插件都会被添加到这个目录

hooks:定义系列脚本 用户在某些特定时间触发 比如before_platform_add 表示某些平台被加到项目中触发某个脚本
比如(config.xml)在android平台 构建之前 执行src指定的脚本具体 参考
(https://cordova.apache.org/docs/en/8.x/guide/appdev/hooks/index.html)
<platform name="android">
<hook type="before_build" src="scripts/wp8/appAndroidBeforeBuild.bat" />
</platform>
其他目录参考(http://cordova.axuer.com/docs/zh-cn/latest/reference/cordova-cli/index.html#directory-structure)
3。添加编译平台 构建 打包
最终开发的h5项目都需要打包编译 不同的平台编译不同的文件 android apk文件 ios的是ipa
查看所有支持的平台
C:\Users\Administrator\hello>cordova platform ls
Installed platforms://已安装的平台
android 5.2.2
Available platforms://可以安装的平台
browser ~5.0.1
ios ~4.5.4
osx ~4.0.1
windows ~5.0.0
www ^3.12.0
这里演示下 添加android环境 需要安装的包参考官网
(http://cordova.axuer.com/docs/zh-cn/latest/guide/platforms/android/index.html#requirements-and-support)
》cordova-android
不同的cordova-android版本对应的android模拟器的api版本不一样
| ordova-android 版本 | 支持的 Android API-级别 |
|---|---|
| 5.X.X | 14 - 23 |
| 4.1.X | 14 - 22 |
| 4.0.X | 10 - 22 |
| 3.7.X | 10 - 21 |
在项目目录下 直接使用
cordova platform add android
会安装最新版的 cordova-android 比如
将来安装的android sdk就必须是最新版 为了拷贝app的兼容性 我还是选择低版本的好些 比如 安装
cordova platform add android@5.2.2
》JDK
官方网站下载jdk1.8安装即可(
https://www.oracle.com/technetwork/java/javase/downloads/index.html)
》Android SDK
安装完成 cordova-android和jdk后 开始编译打包
cordova build android 生成apk文件
发现报错 没有找到对应的android sdk 23
android@5.2.2 需要使用 sdkmanager安装23(android6.0)
下载一个android的sdk管理工具
http://www.androiddevtools.cn/ 找到SDKtools 找到下载链接(https://dl.google.com/android/android-sdk_r24.4.1-windows.zip?utm_source=androiddevtools&utm_medium=website)

下载后目录结构如下

打开SDK Manager(默认连接google的服务器所以 更新sdk速度慢 可以直接设置一个android代理 百度搜索)
设置完成后 点击菜单 Packages Reload 就会自动刷新列表 选择android6.0 安装(可能需要10-20分钟)
将下载好的tools和platform-tools两个目录添加到环境变量 PATH中
将当前的android目录 添加到环境变量 ANDROID_HOME中
再次去build
cordova build android 生成apk文件
发现自动使用maven下载gradle编译环境
C:\Users\Administrator\hello>cordova build android
ANDROID_HOME=C:\Android\android-sdk
JAVA_HOME=E:\jdk1.8.0_65
Incremental java compilation is an incubating feature.
BUILD SUCCESSFUL
Total time: 1.601 secs
Built the following apk(s):
C:/Users/Administrator/hello/platforms/android/build/outputs/apk/android-debug.apk
使用模拟器运行
cordova emulate android 直接使用模拟器运行
cordova run android 寻找是否有物理机设备 没有使用模拟器

626

被折叠的 条评论
为什么被折叠?



