在 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 9
和Android 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 创建项目 参考文档 链接。
-
- CordovaProject 是创建应用程序的目录名称。
-
- io.cordova.hellocordova 是默认的反向域值。 如果可能,您应该使用您自己的域值。
-
- 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 文件的请求暂时还没有找到配置的代码。