惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

I
InfoQ
博客园_首页
美团技术团队
M
MIT News - Artificial intelligence
人人都是产品经理
人人都是产品经理
Blog — PlanetScale
Blog — PlanetScale
H
Help Net Security
J
Java Code Geeks
T
Tailwind CSS Blog
Jina AI
Jina AI
量子位
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
G
Google Developers Blog
爱范儿
爱范儿
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
宝玉的分享
宝玉的分享
小众软件
小众软件
MongoDB | Blog
MongoDB | Blog
博客园 - 三生石上(FineUI控件)
L
LangChain Blog
酷 壳 – CoolShell
酷 壳 – CoolShell
V
Visual Studio Blog
博客园 - Franky
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知

人人都是产品经理

为什么你的产品找不到差异化?90%的失败都卡在第一步上(下) – 人人都是产品经理, 3年从30万到1300万用户、获2200万美元融资,这个AI教育产品用“抽卡”破解了获客难题 – 人人都是产品经理, 园区招商系统怎么做才能真正帮到去化?我加了这一个功能,推广链接转发400次阅读过万 – 人人都是产品经理, AI大事件:OpenAI发完网络安全模型又搞药物研发,小鹏汽车要抓”DeepSeek时刻” – 人人都是产品经理, 电商不是卖货,是一场更残酷的产品经理实战 – 人人都是产品经理, 没想到,活动营销又回来了! – 人人都是产品经理, 为何All-in海外KOC:一场关于AI时代窗口期的豪赌 – 人人都是产品经理, 重新理解企业的内部协作 – 人人都是产品经理, 苹果的 AI 战略到底是什么? – 人人都是产品经理, 医疗智能体·第2讲——合规护城河:等保、PIPL与HIPAA的架构实战 – 人人都是产品经理, 向量知识库五步法:从“答非所问”到“精准回复” – 人人都是产品经理, 鸿蒙PC三方库构建总指挥HPKBUILD(sha)库为例 – 人人都是产品经理, 何时该用LLM?AI产品经理的LLM设计指南 – 人人都是产品经理, 医疗信息领域的需求方、决策方、准入方以及关注点(二) – 人人都是产品经理, 即梦涨价:一场被误读的「傲慢」 – 人人都是产品经理, 面试AI PM必答题:Hermes和OpenClaw的区别,如何讲清楚业务价值 – 人人都是产品经理, AI的下一张船票:世界模型——AI产品经理必须理解的技术拐点 – 人人都是产品经理, 小红书做GEO,怎么让AI信你?记住这 3 个重要信息 – 人人都是产品经理, 5 家印度 AI 初创公司,看看印度 AI 再做什么 – 人人都是产品经理, AI项目跨团队协作:产品技术业务如何不打架 – 人人都是产品经理, Agentic Workflow(智能体工作流):让AI从”答案生成器”变成”数字员工” – 人人都是产品经理, lycium_plusplus 项目全景解读:OpenHarmony 三方库构建的“大管家” – 人人都是产品经理, 从爆单救火到前置履约:两套预采策略,把生鲜大促履约效率拉满 – 人人都是产品经理, 什么时候该补货?我用一轮数据做了一个决定 – 人人都是产品经理, 从“机械兜底”到“动态分流”:AI客服重复进线治理的4大底层逻辑 – 人人都是产品经理, 抖音拼效率,红书拼洞察 – 人人都是产品经理, 全民狂欢与退潮——为什么龙虾这波热潮冷却得如此之快? – 人人都是产品经理, Stripe押注!MPP重塑全球支付 – 人人都是产品经理, 小红书GEO:AI引用你的内容,不是因为你对,而是因为你看起来可信 – 人人都是产品经理, 前百度副总裁押注办公Agent,日韩付费爆发,Manus迎来强劲对手 – 人人都是产品经理,
鸿蒙开发:一键更新,让应用无需提交应用市场即可下载安装
程序员一鸣 · 2026-01-21 · via 人人都是产品经理

HarmonyOSNEXT以后,一直想做一件事情,那就是如何让鸿蒙打出的包,可以像Android安装apk那样简单便捷!如今,经过多天的开发,测试,验证,一个便捷的插件终于开发完毕,它只有一个特点,那就是一键打包上传,并最终生成下载地址和二维码,可以让您更灵活的发布版本和限定测试范围,助您提前发现问题,及时修复问题和优化版本体验。

鸿蒙开发:一键更新,让应用无需提交应用市场即可下载安装

插件开发背景

截止到当下,如何让打出的包安装到真机设备中进行测试,目前官方提供的有四种方式,第一种是直接运行安装或者hdc命令安装,这种方式,简单便捷,非常适合于测试人员较少的小团队进行,但是不适合测试人员多的团队,并且不适合异地的场景,测试人员多,意味着设备多,设备多,意味着需要一一运行安装,会耗费大量的时间用于设备安装,将会大大降低研发的开发效率;如果有研发团队在A地办公,而测试团队在B地办公,直接运行安装将更加不便。

除了第一种安装方式之外,官方也提供了AppGallery邀请测试,也就是需要把打出的包,提交至AppGallery后台,流程和正式发布类似,这种方式,解决了测试人员多,设备多以及异地办公等等缺点,它可以让测试团队非常方便的进行测试验证,但是时效性很差,因为虽然是测试版本,但是也必须进行审核,虽然目前官方审核的速度加快了,但是仍然不及时,特别是需要紧急验证的时候,会十分抓狂!

第三种方式就是AppTest邀请测试,但是目前是为受限开放,需要进行申请体验,即便日后全部放开,但最终也必须上架至AppTest客户端,并且仍然需要进行审核,所以和第二种一样,测试验证不及时。

第四种,也就是插件目前在使用的这种,叫做团队内部测试,使用内部测试方式,无需提交应用至华为应用市场,就可以实现下载安装,和Android的Apk安装一样便捷,达到测试验证的及时性。

团队内部测试固然很好,但是流程十分繁琐,需要所有的模块一一打包,并且需要一一获取sha256,最终还需要一一上传并进行签名,才能达到安装的要求,基于此,如何实现简化流程,实现一键打包,便成了我的诉求。

插件下载安装

目前插件已经上传至了Github,大家可以进行下载体验,地址如下:

https://github.com/AbnerMing888/HarmonyOSQuickPack

插件下载好之后,打开我们的开发工具DevEco Studio到设置页面,点击左侧的Plugins,点击设置图标,点击Install Plugin from Disk…

鸿蒙开发:一键更新,让应用无需提交应用市场即可下载安装

选择下载好的插件,然后点击底部的应用,点击OK即可。

鸿蒙开发:一键更新,让应用无需提交应用市场即可下载安装

安装完毕之后,那么在你的IDE中就会有一个蓝色的小工具按钮,这个就是内测打包工具的功能入口,位置在,应用运行那一排按钮的后面。

鸿蒙开发:一键更新,让应用无需提交应用市场即可下载安装

点击之后,就会进入到插件的主窗口。

鸿蒙开发:一键更新,让应用无需提交应用市场即可下载安装

插件功能介绍

关于插件,有三个功能区域,顶部的区域是最重要的,也是插件的核心功能,包含了基础配置,内部测试品类选择,一键更新和查看更新包;中间的区域是一键更新功能的拆分实现,您可以一步一步的来实现最终的打包上传;底部的区域是指令执行结果展示,在这里,您可以查看每个功能的执行过程以及最后的结果,可以方便您直观的查看。

下面挑选几个重要的功能进行一一解读。

基础配置

因为团队内部测试需要密钥文件信息,所以在基础配置中,请务必配置正确的信息,这些信息会存储在您的电脑本地,不会进行上传远程,请放心填写。当然了,如果您只是想体验简单的功能,这些信息可以不配置。

鸿蒙开发:一键更新,让应用无需提交应用市场即可下载安装

设置上传方式的目的,是需要将打出的应用包存储到哪里,以便于进行下载使用,目前提供了有腾讯云和阿里云两种方式,后续看大家需求,再拓展其它的服务器或者本地服务器。 腾讯云和阿里云,没什么好说的,大家按照信息配置即可,这些可以在官方后台就能查看,需要确定的是,请把Bucket设置为可读可写,当然了,如果您感觉有风险,可以上传完毕后再修改为可读即可。

鸿蒙开发:一键更新,让应用无需提交应用市场即可下载安装

如果您选择的是阿里云,可能会存在最后的下载链接在打开的时候,是下载而不是查看,这是阿里云设置的问题,您需要设置静态的网站,或者直接下载,然后打开下载后的页面进行安装也是可以的,腾讯云是没有这个问题的。

选择内部测试品类

内部测试品类指的是,使用AppGallery Connect申请的内部测试Profile文件,如果您想实现内部测试包的下载安装,这个是必须的,如果您还未申请,请按照官方提示进行申请,这个申请,很简单,和您正式应用申请的流程一模一样。

一键更新

一键更新,从构建打包,到上传资源包,一气呵成,无须再分步骤实现,极大提高出包效率!后续,只关注这个功能即可!

查看更新包

在这里,可以查看历史更新的包,可以对其复制链接,或者查看二维码,可以直接把链接或二维码发送给测试人员,供其下载使用。

鸿蒙开发:一键更新,让应用无需提交应用市场即可下载安装插件使用前提

插件,您可以实现单一的功能实现,比如清除缓存,构建打包,sha256生成等,是不需要任何配置的,但是如果您要实现最终的内部测试包下载安装,有四个前提是必须要做的。

第一、内部测试Profile文件申请

内部测试Profile和正式的申请流程是一样的,这里也简单的概述一下,大概有三个步骤。

1、登录AppGallery Connect,选择“证书、APP ID和Profile”。

鸿蒙开发:一键更新,让应用无需提交应用市场即可下载安装

2、在左侧导航栏选择“证书、APP ID和Profile > Profile”,进入“Profile”页面,点击右上角“添加”。

鸿蒙开发:一键更新,让应用无需提交应用市场即可下载安装

3、这里选择内部测试,其他的信息和你之前申请发布类型一样。

鸿蒙开发:一键更新,让应用无需提交应用市场即可下载安装

参数介绍:

鸿蒙开发:一键更新,让应用无需提交应用市场即可下载安装

第二、应用签名配置流程

正式签名是如何配置的,那么内部测试仿照即可。

首先配置内部测试签名信息,仿照正式签名信息复制一份即可,名字自定义,需要注意,profile字段,设置成你创建的内部测试Profile,其他信息和正式签名保持一致。

"signingConfigs": [//……其他签名信息 { "name":"internalTesting", "type":"HarmonyOS", "material": {  "storeFile":"你的秘钥.p12文件",  "storePassword":"你的秘钥密码",  "keyAlias":"你的别名",  "keyPassword":"你的别名密码",  "signAlg":"SHA256withECDSA",  "profile":"你的内部测试Profile文件也就是.p7b文件",  "certpath":"你的发布证书.cer文件"  } }]

配置品类信息,复制其他品类信息,增加内部测试品类信息,名字自定义,signingConfig选择内部测试签名信息。

"products": [//……其他品类 { "name":"internalTesting", "signingConfig":"internalTesting", "compatibleSdkVersion":"5.0.0(12)", "targetSdkVersion":"5.0.0(12)", "runtimeOS":"HarmonyOS", "buildOption": {  "strictMode": {   "useNormalizedOHMUrl":true   }  } }]

配置modules信息,记住,modules下,你有几个模块,就要配置几个模块,并且每个模块下的applyToProducts配置要保持一致, 并把内部测试品类信息配置上。

"modules": [ { "name":"entry", "srcPath":"./entry", "targets": [   {   "name":"default",   "applyToProducts": [    "default",    "internalTesting"    ]   }  ] }]

以上信息配置完成之后,就可以在插件中,选择你的内部测试品类进行打包了,只需要选择一次即可,后续会自动保存选择的记录。

鸿蒙开发:一键更新,让应用无需提交应用市场即可下载安装

第三、密钥信息配置

因为团队内部测试需要秘钥文件信息进行做签名,所以秘钥信息是必须要配置的,在配置时,请配置原始的密码和别名密码,请不要使用加密的密码,如下配置

鸿蒙开发:一键更新,让应用无需提交应用市场即可下载安装

第四、配置上传方式

目前只支持两种,一个是腾讯云,一个是阿里云,大家按照要求进行配置即可,如果你不知道这些配置信息,可以咨询您的服务端人员,后续会根据需要再去拓展其它的服务器,或者可以自定义内部的上传方式,又或者是本地服务器的方式。

相关总结

目前所有的信息配置是按照项目进行配置的,一个项目只需配置一次即可,后续只需关注一键更新和查看更新包两个功能即可,还有一点,所有的配置数据均存在您的电脑本地,不会进行上传远程,请放心使用!

一键更新之后,您就可以通过全部功能区域,或者点击查看更新包,把链接或者二维码发送给别人进行测试验证了。

鸿蒙开发:一键更新,让应用无需提交应用市场即可下载安装

手机端的展示效果如下,会展示您的应用图标,应用名字,和更新的一些信息,点击下载安装就可以进行安装到手机上了。

鸿蒙开发:一键更新,让应用无需提交应用市场即可下载安装

虽然文章内部比较多,但是信息配置还是非常简单的,只需要配置一次就行了,好了,大家有使用上的问题,都可以进行留言哦~

本文作者@程序员一鸣,未经许可禁止转载。