通过deeplink实现HarmonyOS鸿蒙Next应用下载安装(指定设备发布),是否支持封闭的内网环境?
通过deeplink实现HarmonyOS鸿蒙Next应用下载安装(指定设备发布),是否支持封闭的内网环境? 目前开发环境为封闭的内网环境,无法连接到外网,同时开发的应用因为要求无法上架应用商店,所以选择了deeplink的方式进行内部应用测试分发,官方文档如下:https://developer.huawei.com/consumer/cn/doc/app/agc-help-internal-test-release-app-0000002260691994
当前已经配置好了证书、签名等文件,同时也进行了应用打包,但是在浏览器中点击deeplink链接时,会提示:无法获取应用,网络连接不稳定,请稍后重试。错误码:10002。 json5文件配置如下:
{
"app": {
"bundleName": "com.xxx.xxx",
"bundleType": "app",
"versionCode": 1000000,
"versionName": "1.0.0",
"label": "xxx",
"deployDomain": "xxx",
"icons": {
"normal": "https://xxx/opt/harmony/manifests/main.jpg",
"large": "https://xxx/opt/harmony/manifests/main.jpg"
},
"minAPIVersion": "6.0.1",
"targetAPIVersion": "6.0.1",
"modules": [
{
"name": "pad",
"type": "entry",
"description": "$string:module_desc",
"mainElement": "EntryAbility",
"deviceTypes": [
"phone",
"tablet",
"2in1"
],
"packageUrl": "https://xxx/opt/harmony/manifests/pad-default-signed.hap",
"packageHash": "3bed947407f34be2ceb91228e650aea17788585758230e1c2759e07f325b7724"
}
]
},
"sign": "xxxxxxAflrreiDcCmXizsSuTS2z"
}
不确定华为浏览器在读取deeplink链接时,是否需要链接外网
更多关于通过deeplink实现HarmonyOS鸿蒙Next应用下载安装(指定设备发布),是否支持封闭的内网环境?的实战教程也可以访问 https://www.itying.com/category-93-b0.html
尊敬的开发者,您好,
在写回答->点击上传附件即可上传日志,
注意上传文件支持格式 chm,pdf,txt,docx,ppt,pptx,zip,大小 10MB 以内
zip支持格式 png,jpeg,gif,mp4,ets,ts,js,html,json,json5,yaml,cpp,c,h,properties,py,txt,md,xml
更多关于通过deeplink实现HarmonyOS鸿蒙Next应用下载安装(指定设备发布),是否支持封闭的内网环境?的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
不支持完全封闭的内网环境。
通过 Deeplink 实现应用下载安装(指定设备发布/内部测试)的机制,必须依赖 HTTPS 协议,且服务器必须满足特定的 HTTP 头部要求。完全无法连接外网的"封闭内网"通常无法满足这些技术条件,或者会导致你遇到的 10002 错误。
以下是基于文档的具体分析和解决建议:
1. 为什么封闭内网会导致错误 10002?
根据文档[1],Deeplink 下载机制对服务器环境有严格的硬性要求,你的"封闭内网"很可能触犯了以下几点:
- 强制 HTTPS 要求:
文档明确指出:下载 URL 必须以"https"开头。如果内网使用的是 HTTP 协议,或者自签证书配置不正确,华为浏览器会直接拦截,导致无法获取应用。 - HEAD 请求限制:
文档要求服务器必须支持通过 HEAD 方式请求返回文件大小。很多内网简易服务器(如某些 Python HTTPServer 或简单的文件共享)不支持 HEAD 方法,这会导致应用市场客户端无法校验文件,从而报错"网络连接不稳定"。 - 域名与 IP 限制:
文档规定:下载链接中的域名不支持 IP 地址。你必须配置内网 DNS 或在 Hosts 文件中绑定域名,仅仅使用http://192.168.x.x是无法通过校验的。 - 证书信任问题:
如果使用自签证书,文档要求:用户设备必须安装对应的 CA 证书,且有效期不超过 13 个月。如果测试设备未安装证书,或者证书过期,就会出现网络连接错误。
2. 错误码 10002 的排查方向
虽然文档中未直接列出 10002 的详细对照表,但结合"网络连接不稳定"的提示和 Deeplink 机制,通常由以下原因引起:
表格
| 可能原因 | 检查点 |
|---|---|
| 协议错误 | 确认 json5 文件中的 URL 是否以 https:// 开头? |
| 服务器配置 | 服务器是否支持 HEAD 请求?是否支持 Range 分片下载(返回 206 状态码)? |
| 证书问题 | 测试手机是否已安装内网服务器的根证书? |
| 网络连通性 | 手机连接的 WiFi 是否真的能访问到这台"内网"服务器?(防火墙、端口是否开放) |
3. 解决方案与建议
如果你的应用必须在内网环境下分发,请尝试以下调整:
方案 A:改造内网环境(使其符合要求)
如果你的"内网"只是物理隔离但可以配置服务,请按以下步骤修复:
- 配置 HTTPS:必须为内网服务器申请或配置有效的 HTTPS 证书(不能仅用 HTTP)。
- 开启 HEAD/Range 支持:确保你的 Web 服务器(如 Nginx/Apache)配置正确,允许
HEAD请求和Range: bytes=0-2000请求,并返回206 Partial Content。 - 配置域名解析:在内网 DNS 或手机的 Hosts 文件中,将服务器 IP 映射为一个域名(如
app.internal.com),并在 URL 中使用该域名。
方案 B:改用"本地安装"或"内网 AGC 代理"
如果无法改造内网,Deeplink 方案将无法使用,建议考虑替代方案:
- 直接 HAP 安装:
既然是内部测试,最简单的方法是直接将 HAP 包通过内网共享、U盘或内网 IM 工具发送给测试人员,直接点击安装(HarmonyOS 支持本地 HAP 安装)。 - 使用内网 OTA 服务:
搭建一个简单的内网 OTA(空中下载技术)页面,不使用华为的store://协议,而是直接提供一个<a href="xxx.hap">下载链接,引导用户在浏览器中直接下载 HAP 文件安装。
总结
Deeplink (store://) 方案不适用于无法配置 HTTPS 和域名的纯封闭内网。
建议你先检查服务器是否开启了 HTTPS 和 HEAD 请求支持。如果只是为了内部测试,直接分发 HAP 文件是最快且不受网络环境限制的方法。
目前已在外网服务器通过deeplink的形式实现应用安装包的下载。
尊敬的开发者,您好,10002:描述文件下载URL网络不可达,请检查描述文件下载URL是否可被正常访问。您可将描述文件下载URL复制至浏览器中进行下载验证。如果还是不能解决您的问题,请您提供完整的日志信息。
获取hilog日志命令如下:
hdc file recv data/log/hilog/ ./
找HarmonyOS工作还需要会Flutter的哦,有需要Flutter教程的可以学学大地老师的教程,很不错,B站免费学的哦:https://www.bilibili.com/video/BV1S4411E7LY/?p=17

直接下载文件是可以下载的,但是没法读取deeplink链接
设备日志如何发给你,目前评论区是没法发送的
在内网环境时,是无法访问外界的信息的,比如百度之类的,网络为封闭的状态
Deeplink 支持封闭内网环境,但需满足以下核心条件:
- 所有资源(HAP 包、描述文件、图标)必须通过 内网可访问的 HTTPS 服务器 提供。
- 设备需与内网服务器网络互通,且能正确解析
deployDomain配置的域名。 - 华为浏览器无需连接外网,但必须能正常访问内网服务器。
排查步骤
结合问题描述排查需按以下顺序开展:
| 排查项 | 检查点 | 解决方案 |
|---|---|---|
| HTTPS 证书 | 证书是否为自签名?是否包含 SAN(Subject Alternative Name)? | 重新生成带 SAN 的自签名证书,并将 CA 根证书安装到设备信任列表中。 |
| 网络连通性 | 在设备浏览器中直接访问 packageUrl 或描述文件 URL 是否成功? |
确保设备与服务器在同一网络,且防火墙未拦截 443 端口。 |
| 域名一致性 | deployDomain 的值(如 xxx)是否与 packageUrl/icons 的域名一致? |
修改为相同域名(不含协议/端口),如 deployDomain: "your.domain.com"。 |
| 证书信任 | 设备访问资源时是否提示 “不安全连接”? | 在设备设置中手动安装自签名 CA 证书(路径:设置 > 安全 > 安装证书)。 |
| 日志分析 | 查看设备日志是否存在 SSL handshake failed 或 ERR_CERT_AUTHORITY_INVALID? |
优先解决证书问题(常见于自签名证书未安装或 SAN 缺失)。 |
检查配置文件
请检查并优化 manifest.json5 配置,确保符合内网部署要求:
{
"app": {
"deployDomain": "your.domain.com", // 需与实际域名完全一致(不含协议/端口)
"modules": [
{
"packageUrl": "https://your.domain.com/.../pad.hap", // 域名需与deployDomain保持一致
"packageHash": "3bed9474..." // 确认通过命令生成(如 `shasum -a 256 pad.hap`)
}
]
},
"sign": "xxxxxx..." // 需通过官方验签工具生成,确保有效性
}
其他检查注意事项
- 华为浏览器限制:仅支持用户点击行为触发下载(如按钮点击),不支持地址栏直接输入 Deeplink 触发。
- 证书 SAN 项要求:若未配置 SAN,会导致证书无效;使用 OpenSSL 生成时需添加参数
-addext "subjectAltName=DNS:your.domain.com"。 - 设备兼容性:确保测试设备的系统版本 ≥ 配置的
minAPIVersion。
总结一下:
排查优先级:先在设备浏览器中手动访问资源 URL,根据错误提示(如证书警告、连接超时)针对性解决;封闭内网部署时,务必确保设备已信任自签名证书,且所有资源域名可正常解析、网络互通。
错误码:10002 描述文件下载出错
描述文件下载URL网络不可达,请检查描述文件下载URL是否可被正常访问。
您可将描述文件下载URL复制至浏览器中进行下载验证。试下url在浏览器中是否可以打开呢?
描述文件下载的url直接复制到浏览器中是可以下载的
不支持。deeplink依赖网络连接至华为应用市场或指定下载服务器,封闭内网无法访问外部资源,故无法实现下载安装。
在完全封闭的内网环境下,使用 deeplink 方式分发 HarmonyOS 应用不支持。
错误码 10002 提示“网络连接不稳定”,并非清单或 HAP 包本身无法访问(你的内网服务器可通),而是因为设备在解析 deeplink 后,仍需向华为服务器发起签名验证、设备授权检查等必须的在线校验。这些校验依赖外部网络,内网隔离会导致流程中断,安装被拒绝。即使 manifest 和 HAP 部署在内网,只要设备无法连通华为相关服务,该系统机制就无法完成安装。如需内网分发,请使用企业 MDM 等不依赖公网验证的方案。


