一、内部测试核心优势与适用场景
HarmonyOS应用内部测试是华为为开发者提供的重要功能,主要用于开发团队内共享应用程序或进行内部测试。其核心原理是通过设备UDID对设备进行授权,只有已授权设备才能安装和使用应用。
该功能具有显著优势:无需将应用提交至华为应用市场审核,即可在限定设备范围内分发应用,极大地方便了团队提前测试应用功能,能够及时发现并修复问题、优化版本体验。不过,需要注意的是,内部测试对测试设备数量存在限制,一个应用程序最多允许安装到100台设备上,且当前仅支持Stage模型开发的HarmonyOS应用,暂不支持元服务。
二、完整流程与关键操作步骤
内部测试流程主要包括以下关键步骤:
(一)准备工作
仅支持企业开发者,需先注册华为开发者账号并实名认证为企业开发者。
(二)申请发布证书
发布证书是由AGC颁发的数字证书,用于为HarmonyOS应用配置签名信息,保障软件代码完整性和发布者身份真实性,格式为.cer。每个账号最多可申请3个发布证书,证书有效期为3年,到期后更新版本时若使用过期证书签名的软件包会失败,需及时更换。申请流程如下:
1. 登录AppGallery Connect,选择“证书、AppID和Profile”。
2. 在左侧导航栏选择“证书、AppID和Profile>证书”,进入“证书”页面,点击“新增证书”。
3. 在弹出的“新增证书”窗口填写证书信息,包括证书名称(不超过100个字符)、证书类型(选择“发布证书”),并选取在DevEco Studio上申请的证书请求文件(CSR),点击“提交”。
4. 证书申请成功后,在“证书管理”页面点击“下载”,将证书保存至本地。
(三)注册测试设备
通过UDID将设备注册到AGC设备列表,后续Profile中指定的测试设备将从此列表中选取,每年最多可注册100台设备,且注册成功后一年内不允许删除。操作步骤如下:
1. 登录AppGallery Connect,选择“证书、AppID和Profile”。
2. 在左侧导航栏选择“证书、AppID和Profile>设备”,进入“设备”页面。
3. 若添加单个设备,点击右上角的“添加设备”,填写设备名称(便于识别)、类型(手机或平板)、UDID(64位字符串,设备需运行HarmonyOS系统,可通过相关方法获取),点击“提交”。
4. 若批量添加设备,点击右上角的“批量添加设备”,下载模板,填写设备信息(注意将“UDID”列单元格设置为文本格式),上传模板文件,点击“提交”。
(四)申请内部测试Profile
内部测试Profile格式为.p7b,包含应用包名、数字证书信息、权限列表及设备列表等内容,每个应用包中必须包含一个Profile文件,一个应用最多可申请100个。申请流程如下:
1. 登录AppGallery Connect,选择“证书、AppID和Profile”。
2. 在左侧导航栏选择“证书、AppID和Profile>Profile”,进入“Profile”页面,点击右上角“添加”。
3. 在“添加Profile”页面,填写应用名称(需先创建应用)、包名(自动填充)、Profile名称(不超过100个字符),类型选择“内部测试”,选择发布证书和测试设备(最多100个),若应用使用受限开放权限,需进行申请(根据HarmonyOS版本选择相应权限类型)。
4. 点击右上角“添加”,申请成功后下载Profile文件保存至本地。
(五)配置签名信息
在DevEco Studio中使用制作的私钥(.p12)文件、申请的证书文件和Profile(.p7b)文件配置工程签名信息,具体步骤为:
打开DevEco Studio,在顶部菜单栏选择“File>Project Structure”,进入“Project Structure”界面,导航选择“Project”,点击“SigningConfigs”页签,取消“Automatically Generate Signature”勾选项,然后配置密钥库文件、密码、密钥别名、签名算法等信息,选择Profile文件和证书路径文件,点击“OK”。
(六)编译打包应用
分别对应用工程下的各个Module进行编译打包,可编译HAP包和HSP包(仅支持应用内HSP)。编译HAP包时,在DevEco Studio顶部菜单栏选择“Build>Build HAP(s)/App(s)>Build HAP(s)”,编译完成后在相应目录获取HAP文件;编译HSP包时,选中共享包模块,选择“Build>Make Module${LibraryName}”,获取HSP文件。
(七)上传应用包至服务器
将编译得到的HAP/HSP包上传至服务器或第三方云上,获取下载URL,且URL必须以“https”开头。
(八)生成应用描述文件并上传
基于应用信息生成应用描述文件(如“manifest.json5”),文件需包含应用的Bundle名称、类型、版本号、部署域名、图标、模块信息等内容,且所有字段需符合规范。生成后上传至服务器或第三方云上,获取描述文件下载URL。
(九)构造Deeplink拉起下载安装
使用描述文件下载URL构造Deeplink,格式为“store://enterprise/manifest?url=xxx.xxx/xxx.json5”,…
三、常见问题与错误码解析
(一)下载错误码
-
10000(Deeplink格式错误):需确保Deeplink格式正确,描述文件下载URL使用https协议、以“.json5”结尾,且域名与描述文件内deploydomain字段值一致。
-
10001(描述文件大小超限):描述文件大小需不超过1MB。
-
10002(描述文件下载出错):检查描述文件下载URL是否可正常访问,可复制至浏览器验证。
-
10003(描述文件解析出错):确保描述文件内容为正确的JSON格式。
-
10005(BundleName字段值不符合规范):BundleName需为以点号分隔的字符串,至少包含三段,符合字符和长度要求,且不包含敏感词和保留字符。
-
10019(描述文件验签失败):检查描述文件签名密钥与安装包签名密钥是否一致,可使用签名工具进行本地验证。
-
10021(安装包证书校验失败):确认是否使用正确的发布证书和内部测试Profile打包安装包,且设备UDID在Profile指定的设备列表内。
(二)安装错误码
可参考链接:gitee.com/openharmony…
(三)FAQ
- 应用已过期:内部测试应用版本有效期为90天,超过后需更新应用版本号,重新编译打包并部署。
- 无法打开应用:内部测试有安装数量限制,超过100台设备后应用将无法启动,需检查设备数量是否超限。
四、实践建议与注意事项
1. 权限管理:若应用涉及受限开放权限,需在申请Profile时准确申请,确保权限范围与使用场景一致,避免影响应用安装运行。
2. 设备管理:注册设备时注意命名规范,便于后续管理;删除设备时需先解绑Profile,且一年内删除的设备仍占用名额,满一年后自动清除。
3. 版本控制:及时更新证书和Profile,避免因证书过期导致应用更新失败;在应用更新场景下,可使用OpenLink方式直接拉起下载安装。
4. 测试验证:在构造Deeplink和配置服务器后,需进行充分测试,验证下载安装流程是否正常,确保服务器支持分片下载和正确的响应头设置。
通过深入学习和实践HarmonyOS应用内部测试流程,开发者能够高效地进行团队内应用测试,提前发现问题并优化版本,为应用正式发布奠定坚实基础。在实际操作中,需严格遵循文档规范,注意细节处理,遇到问题可参考错误码和FAQ进行排查解决。