codecamp

快应用 使用命令行

了解命令行使用整体流程:环境安装、运行时预览效果,掌握基本概念:项目产出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 包,并启动远程调试

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

安装成功后如下图所示:

手机安装调试器

手机安装平台预览版

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

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

  • 优点:迭代速度快,可立即体验平台新功能
  • 缺点:实现与真实的运行环境存在差异,对厂商服务和第三方服务的支持存在缺陷

平台预览版是一个 Android 应用程序,下载平台预览版 APK 详见资源下载

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

安装 toolkit

hap-toolkit 为开发编译工具

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

npm install -g hap-toolkit

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

hap -v

项目开发

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

创建项目

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

hap init <ProjectName>

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

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

安装依赖

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

npm install

编译项目

手动编译项目

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

npm run build

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

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

自动编译项目

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

npm run watch

安装 rpk 包

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

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

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

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

1 启动 HTTP 服务器

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

npm run server

自定义端口(如:8080)

npm run server -- --port 8080

2 在手机上扫码安装

步骤如下:

  • 手机打开快应用调试器 --> 关闭"开启USB调试"
  • 点击"扫码安装",扫描终端窗口中的二维码即可完成配置(若扫描不成功,可在浏览器中打开页面:http://localhost:<your port>,扫描页面中的二维码)
  • 点击在线更新唤起平台运行 rpk 包

若提示安装失败,请检查执行 npm run server 的终端窗口是否正常运行,手机和 PC 是否可以通过 IP 相互访问

注意:

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

预览效果

安装成功后,效果如下:

预览效果

总结

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

调试项目

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

发布前打包

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

编译打包工程

在工程的根目录下运行

npm run build

编译后的工程目录在/<ProjectName>/build

生成的应用路径为/<ProjectName>/dist/<ProjectPackage>.rpk

增加 release 签名

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

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

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

发布程序包

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

npm run release

生成的应用路径为/<ProjectName>/dist/<ProjectPackage>.release.rpk


快应用教程概述
快应用 项目结构详解
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

快应用 参考手册

快应用 安全

快应用 声音音频

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }