使用 DevEco Studio 配置 Flutter 鸿蒙签名
签名是鸿蒙应用从开发到发布绕不开的一环。本文以 E-Brufen 的真实签名为例详解完整的证书配置流程。一、为什么需要签名HarmonyOS 要求所有 HAP 包必须经过数字签名才能安装运行。签名体系包含四个关键文件文件扩展名用途密钥库.p12存储开发者私钥和证书证书.cer开发者的数字身份证明Profile.p7b应用发布配置文件含权限和设备白名单签名请求.csr用于向 CA 申请证书在 E-Brufen 项目根目录你可以看到这四个文件firstproject.p12 ← 密钥库 22.cer ← 开发者证书 123456Release.p7b ← 发布 Profile firstproject.csr ← 证书签名请求二、生成签名材料步骤 1生成 CSR 和密钥库在 DevEco Studio 中Build → Generate Key and CSR填写信息别名如aaa、密码、组织名称等生成.csr和.p12文件或者在命令行使用 keytoolkeytool-genkeypair-aliasaaa-keyalgEC-sigalgSHA256withECDSA\-keystorefirstproject.p12-storetypePKCS12-validity3650⚠️ E-Brufen 使用SHA256withECDSA算法——这是鸿蒙推荐的签名算法兼顾安全性和性能。步骤 2申请证书登录 AppGallery Connect进入证书管理 → 新增证书上传刚才生成的.csr文件下载颁发的.cer证书申请地址:https://developer.huawei.com/consumer/cn/service/josp/agc/index.html#步骤 3申请 Profile在 AppGallery Connect 中进入Profile 管理创建新的 Profile选择证书刚才申请的.cer设备类型phone应用包名com.flutter.brufen下载.p7bProfile 文件三、配置 build-profile.json5将签名材料路径写入ohos/build-profile.json5{ app: { signingConfigs: [ { name: default, type: HarmonyOS, material: { storeFile: D:/Flutter/firstproject/firstproject.p12, storePassword: 00000019314A5E64..., keyAlias: aaa, keyPassword: 0000001994B09538..., signAlg: SHA256withECDSA, profile: D:/Flutter/firstproject/123456Release.p7b, certpath: D:/Flutter/firstproject/22.cer } } ], products: [ { name: default, signingConfig: default, compatibleSdkVersion: 6.1.0(23), runtimeOS: HarmonyOS } ] } }![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/bdb522d8e1a84ee5b549920fb56391c5.png安全提醒storePassword和keyPassword是敏感信息。在生产项目中应将签名文件路径和密码通过环境变量注入而非硬编码在配置文件中。四、配置 app.json5确保ohos/AppScope/app.json5中的 bundleName 与 Profile 一致{ app: { bundleName: com.flutter.brufen, vendor: example, versionCode: 1000000, versionName: 1.0.0, icon: $media:1, label: $string:app_name } }五、验证签名构建 Release HAP 并检查签名# 构建 Release 版本flutter build hap--release# 检查生成的 HAP 是否已签名# 成功签名后安装到设备不会报 签名验证失败六、调试模式 vs 发布模式模式签名要求用途Debug可自动生成调试证书日常开发Profile需要正式签名性能分析Release必须使用正式签名发布上架在build-profile.json5中通过buildModeSet管理buildModeSet: [ { name: debug }, { name: profile }, { name: release } ]七、常见问题Q: 签名后安装仍提示签名验证失败检查三点.p7bProfile 中的 bundleName 与app.json5是否一致证书是否过期设备 UDID 是否在 Profile 的设备白名单中Q: 能否在 CI/CD 中使用签名可以。将.p12、.cer、.p7b作为 CI Secret 存储构建时动态写入 build-profile.json5。小结签名是鸿蒙开发中较容易出错的环节。关键要点bundleName 一致性、签名算法匹配、证书有效期。掌握这些签名配置就不再是拦路虎。项目地址:https://gitcode.com/PengXiansheng/E-Brufen/blob/master/lib

相关新闻

数电发票开票的订单明细金额一般不能为0

数电发票开票的订单明细金额一般不能为0

数电发票订单明细中单项金额为‌0元通常不符合常规经营业务规定‌,除非属于特定的‌视同销售、样品赠送或差额征税调整‌等合规场景,否则可能被系统判定为异常交易。核心判断标准‌一般商品/服务销售‌:若发生真实交易并收取款项,…

2026/7/7 16:35:49 阅读更多 →
单次示范实现可变形物体上下文模仿学习

单次示范实现可变形物体上下文模仿学习

1. 项目概述:这不是“教机器人折纸”,而是让机器真正理解“形变”的物理直觉“Instant-Fold”这个名字乍一听像某个极客玩具的代号,但如果你拆开来看——Instant(瞬时) Fold(折叠),它…

2026/7/7 16:35:49 阅读更多 →
3个关键步骤突破单细胞RNA测序分析瓶颈:STARsolo终极实战指南

3个关键步骤突破单细胞RNA测序分析瓶颈:STARsolo终极实战指南

3个关键步骤突破单细胞RNA测序分析瓶颈:STARsolo终极实战指南 【免费下载链接】STAR RNA-seq aligner 项目地址: https://gitcode.com/gh_mirrors/st/STAR 单细胞RNA测序分析中的比对效率直接决定了研究进展的速度,而STARsolo作为STAR比对器的集成…

2026/7/7 16:33:48 阅读更多 →

最新新闻

GetQzonehistory:三步完成QQ空间历史数据永久备份的终极指南

GetQzonehistory:三步完成QQ空间历史数据永久备份的终极指南

GetQzonehistory:三步完成QQ空间历史数据永久备份的终极指南 【免费下载链接】GetQzonehistory 获取QQ空间发布的历史说说 项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory 在数字时代,我们的青春记忆和珍贵时光往往散落在各种…

2026/7/7 17:58:19 阅读更多 →
spring boot 和 spring MVC 有什么区别

spring boot 和 spring MVC 有什么区别

一、谁用得更多?(2026 企业现状)新项目 100% 用 Spring Boot;传统纯 Spring MVC 仅存量老系统维护行业数据:79% 企业正在使用 Spring Boot,Java 后端市场份额接近 30%,纯原生 Spring MVC 仅 6.6…

2026/7/7 17:58:19 阅读更多 →
Obsidian Local REST API:为你的知识库开启自动化新时代

Obsidian Local REST API:为你的知识库开启自动化新时代

Obsidian Local REST API:为你的知识库开启自动化新时代 【免费下载链接】obsidian-local-rest-api A secure REST API and Model Context Protocol (MCP) server for your vault. 项目地址: https://gitcode.com/gh_mirrors/ob/obsidian-local-rest-api 在当…

2026/7/7 17:56:19 阅读更多 →
第11章 规划与智能体:从任务分解到多智能体系统的关键技术剖析

第11章 规划与智能体:从任务分解到多智能体系统的关键技术剖析

规划框架的核心组件与工作流程 实际工程中经常遇到任务规划器输出不稳定的问题。比如生成SQL查询时,同样的业务需求有时会输出JOIN语句有时却用子查询,这种不一致性会导致下游系统适配困难。我们后来采用约束提示词(constraint prompting&am…

2026/7/7 17:56:19 阅读更多 →
纽扣电池低功耗方案:NBM5100A与PIC18F4680优化设计

纽扣电池低功耗方案:NBM5100A与PIC18F4680优化设计

1. 纽扣电池应用中的核心挑战与解决方案选型在物联网设备和便携式电子产品的设计中,CR2032这类纽扣电池因其紧凑的体积和稳定的放电特性成为首选电源。但工程师们在实际应用中常面临两个相互矛盾的性能需求:一方面希望设备能持续工作数年不更换电池&…

2026/7/7 17:54:18 阅读更多 →
两大国民AI同日砍掉核心功能,7月15日背后是一部从未有过的国家级新规

两大国民AI同日砍掉核心功能,7月15日背后是一部从未有过的国家级新规

两大国民AI,同一天亮了红灯 说实话,我刷到通知的时候,第一反应不是震惊,是一种「果然来了」的感觉。 7月3日晚上,字节豆包推了一条通知,《豆包智能体功能下线通知》。措辞很直接,7月15日正式下线…

2026/7/7 17:54:18 阅读更多 →

日新闻

鸿蒙新特性:图片画廊与轮播导航——构建沉浸式图片浏览体验

鸿蒙新特性:图片画廊与轮播导航——构建沉浸式图片浏览体验

图片浏览是移动应用中最高频的场景之一。从社交应用的照片流到电商平台的商品图集,从旅游应用的景点相册到摄影作品展示——用户对图片浏览的体验要求不断提高:流畅的切换动画、直观的缩略图导航、便捷的收藏操作、自动播放模式。HarmonyOS NEXT ArkUI 虽…

2026/7/7 0:05:16 阅读更多 →
24V DC-DC降压芯片PW2312B/PW2815,SOT23-6到SOP8-EP方案对比

24V DC-DC降压芯片PW2312B/PW2815,SOT23-6到SOP8-EP方案对比

24V稳压芯片完整选型指南 PW8600 PW75XX PW2815 PW2312B LDODC/DC全方案 一、24V稳压方案概述 24V直流电源在工业自动化、门禁系统、电梯控制、汽车电子、LED驱动、监控设备等场景中应用极广,是最常见的中压直流母线电压。要将24V母线稳定降压至下游MCU、传感器…

2026/7/7 0:05:16 阅读更多 →
RAG+知识图谱混合检索与Graph RAG核心对比

RAG+知识图谱混合检索与Graph RAG核心对比

做企业RAG落地的团队,往往容易卡在一容易踩坑的选型难题: 当需求单纯靠向量RAG搞不定、单纯靠知识图谱也搞不定,必须同时依赖「文本语义理解 实体关系推理」时,到底是做「向量图谱混合检索」就够了,还是必须上「Grap…

2026/7/7 0:07:19 阅读更多 →

周新闻

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容 【免费下载链接】BiliTools A cross-platform bilibili toolbox. 跨平台哔哩哔哩工具箱,支持下载视频、番剧等等各类资源 项目地址: https://gitcode.com/GitHub_Trending/bilit/BiliTools …

2026/7/7 14:24:45 阅读更多 →
威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型的陌生现状在忙碌疲惫的一天里,参与了关于混合后量子密码学的讨论,应付端点攻击找茬的人,还参与留言板讨论后,发现“威胁模型”对多数人仍是陌生概念,且多被当作时髦用语。有趣的相关画作有一幅由 Embyr 创作的…

2026/7/7 12:34:47 阅读更多 →
渗透测试入门指南:从零基础到实战环境搭建

渗透测试入门指南:从零基础到实战环境搭建

1. 从“看热闹”到“入门”:我理解的渗透测试到底是什么?每次看到新闻里说某个大公司的数据被“黑”了,或者某个网站被攻击导致服务瘫痪,你是不是和我一样,心里会冒出两个念头:一是“这黑客真厉害”&#x…

2026/7/7 15:59:06 阅读更多 →

月新闻