介绍
使用 Cordova 工具,把 HTML5 打包为 IOS 及 Android 等应用,Cordova 提供了一组设备相关的 API,通过这组 API,移动应用能够用 JavaScript 访问原生的设备功能,如摄像头、麦克风等。Cordova 支持多个操作系统,例如:ios、android、brower、electron、oxs、windows。
前提
作者所使用的环境
- macOS — High Sierra 10.15.5
 - xcode — v11.5.0
 - Android Studio — v4.0.0
 - Node.js — v14.2.0
 - Phonegap — v9.0.0
 - Apache Cordova — v9.0.0
 
安装依赖
Cordova
1  | $ npm install cordova -g  | 
Phonegap
1  | $ npm install phonegap -g  | 
ios-deploy
1  | $ npm install ios-deploy -g  | 
Gradle
1  | $ brew install gradle  | 
Android SDK
安装 Android Studio,装好之后启动软件,打开 Tools > SDK Manager,勾选对应的 API Level 来安装 Cordova 所依赖的 SDK,最新的 Cordova 所支持的 API Level 版本为 28,具体 Cordova 版本所对应的 SDK 可看下表。
| Cordova 版本 | API Level 版本 | 对应 Android 版本 | 
|---|---|---|
| 8.X.X | 19 - 28 | 4.4 - 9.0.0 | 
| 7.X.X | 19 - 27 | 4.4 - 8.1 | 
| 6.X.X | 16 - 26 | 4.1 - 8.0.0 | 
| 5.X.X | 14 - 23 | 4.0 - 6.0.1 | 
| 4.1.X | 14 - 22 | 4.0 - 5.1 | 
| 4.0.X | 10 - 22 | 2.3.3 - 5.1 | 
| 3.7.X | 10 - 21 | 2.3.3 - 5.0.2 | 
设置环境变量
在 ~/.bash_profile 文件中追加以下内容。
1  | # Java  | 
检查环境
确保 Java JDK、Android SDK、Android target、Gradle 是正常的。
1  | $ cordova requirements  | 
创建一个项目
创建 Hello 项目
执行以下命令创建一个 Cordova 项目。
1  | $ cordova create hello com.example.hello HelloWorld  | 
默认创建的项目只支持 WEB 端,资源放在项目下的 www 目录,主页文件在 www/index.html。
添加平台
进入到项目目录。
1  | $ cd hello  | 
添加 IOS 与 Android 平台支持。
1  | $ cordova platform add ios  | 
添加的平台在
platforms目录下,到此目录下你可以看到多了两个刚刚添加的ios与android目录。此目录为自动生成,官方不建议修改此目录内容,因为当执行构建 APP 命令或者删除平台在重新添加时,此目录会重新生成,你修改的内容将会丢失。
查看当前已经添加过的平台列表。
1  | $ cordova platform ls  | 
添加签名
创建签名配置文件
创建 signing 目录,在此目录下新建 config.json 文件,内容为以下格式。
1  | {  | 
IOS 签名
注册一个苹果开发着账号,配置 ios.{env}.developmentTeam 为你的 Team ID。
Android 签名
执行以下命令,密码使用 sanonz,当使用自己的密码时需要对应更改 android.{env}.password 与 android.storePassword 密码,同理别名 -alias 也需要对应修改。
1  | $ keytool -genkey -v -keystore android.keystore -keyalg RSA -keysize 2048 -validity 36500 -alias sanonz  | 
其中 android.{env}.keystore 填写生成的 android.keystore 文件路径。
构建 APP
构建所有添加的平台。
1  | $ cordova build  | 
构建指定平台。
1  | $ cordova build ios  | 
构建 debug 版本。
1  | $ cordova build android --verbose --device --debug --buildConfig=./signing/config.json  | 
构建成功后的 apk 文件在 platforms/android/app/build/outputs/apk/debug/app-debug.apk。
构建 release 版本。
1  | $ cordova build android --verbose --device --release --buildConfig=./signing/config.json  | 
构建成功后的 apk 文件在 platforms/android/app/build/outputs/apk/release/app-release.apk。
测试 APP
以下命令会构建一个 debug 版本的 APP,自动打开模拟器并安装到模拟器上运行。
1  | $ cordova run android  | 
Live Reload
利用 Phonegap 的应用,可以实时预览你的 APP,首先安装 Phonegap 的 APP,由于 AppStore 在 2018 年下架了 Phonegap APP,所以直接安装不了,可以克隆官方的 Phonegap 仓库 自行编译安装,安装到手机有点麻烦,不过可以很容易安装的模拟器上,在模拟器上打开 Phonegap APP 一样可以方便的预览。
启动调试服务
1  | $ phonegap serve  | 
启动后控制台会打印 IP 地址,默认端口为 3000,打开 Phonegap APP,在 Server Address 输入框中输入控制台打印的 192.168.1.103:3000 地址,然后点击 Connect 链接按钮,连接成功后就可以查看你的 APP,修改 wwww/index.html 文件,保存后 Phonegap APP 会自动刷新,展示修改后的页面。
小结
至此结束,感谢阅读。