使用命令行

了解命令行使用整体流程:环境安装、运行时预览效果,掌握基本概念:项目产出rpk文件

通过本节,你将学会:

安装环境

安装 NodeJS

需安装8.0以上版本的 NodeJS (建议使用 10.0+ 以上),请从NodeJS 官网下载

请注意:hap-toolkit@0.3 及其以后的版本不再支持 NodeJS v8.0 以下的版本)

手机安装调试器

调试器是一个 Android 应用程序,下载调试器 APK 详见资源下载

在手机上安装并打开调试器,按钮功能如下:

  • 扫码安装:配置 HTTP 服务器地址,下载 rpk 包,并唤起平台运行 rpk 包
  • 本地安装:选择手机文件系统中的 rpk 包,并唤起平台运行 rpk 包
  • 在线更新:重新发送 HTTP 请求,更新 rpk 包,并唤起平台运行 rpk 包
  • 开始调试:唤起平台运行 rpk 包,并启动远程调试 注意:若打开调试器无法点击按钮,请升级手机系统到最新版本或安装平台预览版

安装成功后如下图所示:

img

手机安装平台预览版

较新的系统版本中内置平台正式版,开发调试平台新功能可使用平台预览版

平台预览版存在以下优缺点:

  • 优点:迭代速度快,可立即体验平台新功能
  • 缺点:实现与真实的运行环境存在差异,对厂商服务和第三方服务的支持存在缺陷 平台预览版是一个 Android 应用程序,下载平台预览版 APK 详见资源下载

下载安装成功后,在手机调试器中点击切换运行平台至org.hapjs.mockup,即可在平台预览版上安装运行 rpk 包

安装 toolkit

hap-toolkit 为开发编译工具

通过 npm 仓库安装,在命令行中执行以下命令:

  1. npm install -g hap-toolkit

在命令行中执行hap -v会输出版本信息表示hap-toolkit安装成功,如下命令所示:

  1. hap -v

项目开发

开发环境搭建完成,以及 hap-toolkit 工具完成,我们就可以进行项目开发

创建项目

安装 toolkit 工具后,可通过全局hap命令创建一个项目模板,如下所示:

  1. hap init <ProjectName>

其中<ProjectName>为自定义的项目名称,如hap init demo

关于生成项目模板具体介绍,详情请见:项目结构讲解

安装依赖

在项目根目录下,运行如下命令安装模块到node_modules目录

  1. npm install

编译项目

手动编译项目

在项目的根目录下,运行如下命令进行编译打包,生成 rpk 包

  1. npm run build

编译打包成功后,项目根目录下会生成文件夹:builddist

  • build:临时产出,包含编译后的页面 js,图片等
  • dist:最终产出,包含 rpk 文件。其实是将 build 目录下的资源打包压缩为一个文件,后缀名为rpk这个rpk文件就是项目编译后的最终产出

自动编译项目

如果希望每次修改源代码文件后,都自动编译项目,请使用如下命令:

  1. npm run watch

安装 rpk 包

编译项目产出了 rpk 包后,请打开手机调试器

若打开调试器无法点击按钮,请升级手机系统到最新版本或安装平台预览版

调试器可使用后,就可以在调试器上安装 rpk 包了

可以通过 WIFI 在线更新方式安装 rpk 包,此方式要确保手机与 PC 在同一局域网,步骤如下:

1 启动 HTTP 服务器

在终端中新建一个窗口,进入项目的根目录运行如下命令,启动本地服务器(默认端口为 8000)

  1. npm run server

自定义端口(如:8080)

  1. npm run server -- --port 8080

2 在手机上扫码安装

步骤如下:

  • 手机打开快应用调试器 —> 关闭"开启USB调试"
  • 点击"扫码安装",扫描终端窗口中的二维码即可完成配置(若扫描不成功,可在浏览器中打开页面:http://localhost:<your port>,扫描页面中的二维码)
  • 点击在线更新唤起平台运行 rpk 包 若提示安装失败,请检查执行 npm run server 的终端窗口是否正常运行,手机和 PC 是否可以通过 IP 相互访问

注意:

  • 如果手机与 PC 不在同一局域网,可以使用 USB 在线更新和本地安装预览运行效果,详见文档调试

预览效果

安装成功后,效果如下:

img

总结

了解项目的目录结构,编译时通过编译工具产出rpk文件,运行时通过调试器安装rpk文件;打通整个流程后,开发者就可以边开发边预览效果了

调试项目

至此,我们初步完成通过命令行工具进行快应用开发相关工作,项目调试工作,详情请见:调试

发布前打包

在项目发布生产前,需进行发布前打包工作

编译打包工程

在工程的根目录下运行

  1. npm run build

编译后的工程目录在/build

生成的应用路径为/dist/.rpk

增加 release 签名

通过 openssl 命令等工具生成签名文件private.pemcertificate.pem,例如:

  1. openssl req -newkey rsa:2048 -nodes -keyout private.pem -x509 -days 3650 -out certificate.pem

在工程的 sign 目录下创建 release 目录,将私钥文件 private.pem 和证书文件 certificate.pem 拷贝进去

发布程序包

发布程序包前需要增加release签名,然后在工程的根目录下运行

  1. npm run release

生成的应用路径为/dist/.release.rpk

如果需要临时使用 debug 签名,可以使用

  1. npm run release -- --debug

注意: debug 签名由于是公开的,安全性无法保证,一定不要使用 debug 签名签发正式上线的应用