在 Windows 10 上搭建 Cordova 跨平台开发 Android 环境

时间:2023-03-09 16:00:06
在 Windows 10 上搭建 Cordova 跨平台开发 Android 环境

Cordova 简介:Cordova 原名 PhoneGap,是一个开源移动开发框架,它允许您使用标准的Web技术,如HTML5,CSS3和JavaScript进行跨平台开发,避免每个移动平台本机开发语言。应用程序在针对每个平台的包装内执行,并依靠符合标准的API绑定来访问每个设备的传感器,数据和网络状态。

安装 Cordova

首先安装 Node.js
* Node.js 下载 链接,随后进行 Node.js 的安装。
* Node.js 安装完毕后 在 控制台 用 node -v 和 npm -v 出现版本号即安装成功。
安装 Git
* 即使您不使用git,它应该安装,因为Cordova正在使用它的一些后台进程。
* 官方下载 链接,可能速度很慢,可使用百度网盘 x32 或者 x64
通过 npm 安装 Cordova
* Node.js 安装成功后 在 控制台 用 npm install -g cordova 安装 Cordova。
* Cordova 安装完毕后,通过 命令行 cordova -v 查询安装的 Cordova 版本。
* 我的 Cordova 版本是 8.1.2 (cordova-lib@8.1.1)

安装 Java 和 Android 环境

在这里我安装的是 Java JDK 1.8 版本,应该使用 Java JDK 1.8+ 即可。

安装 Java JDK 环境
* Java JDK 下载 链接,下载标注为 Java SE 8u*** / Java SE 8u*** 即为 Java JDK 1.8 版本。
* 随后配置 Java JDK 环境变量,不会配置 Java JDK 环境变量的请转向 链接
安装 Android SDK 环境
* 下载谷歌官网的 adt-bundle-windows 下载 x86链接 或者 x86_64链接。如 被墙 百度网盘 下载 x86链接 或者 x86_64链接,adt-bundle-windows 里面集成了 Android SDK 和 Eclipse,省事。
* 下载的 adt-bundle-windows 压缩包内容解压出来放到合适的位置,随后配置 Android SDK 环境变量,不会配置 Android SDK 环境变量的请转向 链接
* 把 Android SDK 环境变量配置完成后,运行文件夹中的 SDK Manager.exe 文件,由于 被墙 可能会更新失败,解决方法的 链接
* 把 Android SDK 更新成功以后,默认勾选中的不用管他,然后 Tools 前三个都要勾选,随后我还勾选了 Android 9Android 7,然后进行安装,有几十G,要耐心等待。
安装 Apache Ant 环境
* 网上说需要安装 Ant 所以我也安装了 Apache Ant ,下载 网址apache-ant-1.10.5-bin.zip 直接下载 链接apache-ant-1.9.13-bin.zip 直接下载 链接
* 下载成功随后解压出来以后放到合适的位置,并配置环境,不会配置 Apache Ant 的请转向 链接

创建 Cordova 应用程序

创建 Cordova 应用程序
* 使用命令行 coredova create CordovaProject 可直接创建项目目录为 CordovaProject 的 Coredova 项目。
* 使用命令行 cordova create CordovaProject io.cordova.hellocordova CordovaApp 创建项目 参考文档 链接
  1. CordovaProject 是创建应用程序的目录名称。
  1. io.cordova.hellocordova 是默认的反向域值。 如果可能,您应该使用您自己的域值。
  1. CordovaApp 是您应用的标题。
添加 Android 平台
* 创建好项目以后,命令行中使用 cd CordovaProject 进入项目 根目录。
* 在项目 根目录 命令行中使用 cordova platform add android 添加 Android 平台。
* 您也可以从您的项目中删除 Android 平台 使用 cordova platform rm android 命令行。
* 注:如果您是其他平台 可参考文档 链接

构建和运行 Cordova

编译成 apk 文件
* 编译成 apk 文件需要在项目 根目录 使用命令行 cordova build android 编译成功以后会出现路径为 ...\platforms\android\app\build\outputs\apk\debug\app-debug.apk 的路径,可以在此路径找到编译成功的 apk 文件。
模拟器或真实设备
* 现在我们可以运行我们的应用程序。 如果您使用默认模拟器,您需要要 根目录 使用命令行 cordova emulate android。
* 如果你想使用外部模拟器或真实设备,您应该使用命令行 cordova run android,如果使用外部设备 请安装 Android ADB ,不会的请参考 链接 Android ADB 安装包百度云 链接。 根据上面的安装 Android 的链接,您可能已经安装了 Android ADB,请在命令行输入 adb 进行检查,最后 请打开 手机的 Usb调式,并运行
使用 Cordova Simulate 运行
注: Cordova Simulate不会取代在物理设备上测试您的应用程序,它只是简化了应用程序UI和基于JavaScript的逻辑的迭代测试。
* 参考文档 微软 Tools for Apache Cordova,GitHub 源码地址 Cordova Simulate
* 现在我们使用npm安装 Cordova Sumulate 使用命令行 npm install -g cordova-simulate 进行全局安装。
随后从Cordova项目中的任何位置的命令行输入 simulate Android 进行 Android 测试,参考链接
Cordova 内容安全策略
有的同学在创建项目后期会遇到如下问题:
  • Cordova 在页面中不能直接使用Ajax请求访问外域的数据
  • Cordova 在页面不能请求外域的图片、JavaScript 和 CSS 文件。
以上问题是由于 HTML5 的内容安全策略限制导致的,我们需要在页头的 <meta http-equiv=“Content-Security-Policy” content=“default-src ‘self’ data: gap: https://ssl.gstatic.com ‘unsafe-eval’; style-src ‘self’ ‘unsafe-inline’; media-src * ;connect-src *;img-src * data: content:;”/> 加入安全策略白名单。
其上代码 connect-src *; 是将 Ajax 请求加入白名单中,使其 Cordova 能够允许页面的connect请求外域数据,其上代码中的 img-src * data: content:; 表示了 Cordova 能够允许页面 对外域图片的请求,对于外域 JavaScript 和 CSS 文件的请求暂时还没有找到配置的代码。

参考文档 :
  • H5程序员如何利用cordova开发跨平台应用 链接
  • W3Cschool Cordova教程 链接
  • Android 使用ADB命令安装、卸载软件 链接