开源 Arkts 鸿蒙应用 开发(十一)证书和包名修改

 文章的目的为了记录使用Arkts 进行Harmony app 开发学习的经历。本职为嵌入式软件开发,公司安排开发app,临时学习,完成app的开发。开发流程和要点有些记忆模糊,赶紧记录,防止忘记。

 

 相关链接:

开源 Arkts 鸿蒙应用 开发(一)工程文件分析-优快云博客

开源 Arkts 鸿蒙应用 开发(二)封装库.har制作和应用-优快云博客

开源 Arkts 鸿蒙应用 开发(三)Arkts的介绍-优快云博客

开源 Arkts 鸿蒙应用 开发(四)布局和常用控件-优快云博客

开源 Arkts 鸿蒙应用 开发(五)控件组成和复杂控件-优快云博客

开源 Arkts 鸿蒙应用 开发(六)数据持久--文件和首选项存储-优快云博客

开源 Arkts 鸿蒙应用 开发(七)数据持久--sqlite关系数据库-优快云博客

开源 Arkts 鸿蒙应用 开发(八)多媒体--相册和相机-优快云博客

开源 Arkts 鸿蒙应用 开发(九)通讯--tcp客户端-优快云博客

开源 Arkts 鸿蒙应用 开发(十)通讯--Http-优快云博客

开源 Arkts 鸿蒙应用 开发(十一)证书和包名修改-优快云博客

开源 Arkts 鸿蒙应用 开发(十二)传感器的使用-优快云博客

开源 Arkts 鸿蒙应用 开发(十三)音频--MP3播放_arkts avplayer播放音频 mp3-优快云博客

开源 Arkts 鸿蒙应用 开发(十四)线程--任务池(taskpool)-优快云博客

开源 Arkts 鸿蒙应用 开发(十五)自定义绘图控件--仪表盘-优快云博客

开源 Arkts 鸿蒙应用 开发(十六)自定义绘图控件--波形图-优快云博客

开源 Arkts 鸿蒙应用 开发(十七)通讯--http多文件下载-优快云博客

开源 Arkts 鸿蒙应用 开发(十八)通讯--Ble低功耗蓝牙服务器-优快云博客

 推荐链接:

开源 java android app 开发(一)开发环境的搭建-优快云博客

开源 java android app 开发(二)工程文件结构-优快云博客

开源 java android app 开发(三)GUI界面布局和常用组件-优快云博客

开源 java android app 开发(四)GUI界面重要组件-优快云博客

开源 java android app 开发(五)文件和数据库存储-优快云博客

开源 java android app 开发(六)多媒体使用-优快云博客

开源 java android app 开发(七)通讯之Tcp和Http-优快云博客

开源 java android app 开发(八)通讯之Mqtt和Ble-优快云博客

开源 java android app 开发(九)后台之线程和服务-优快云博客

开源 java android app 开发(十)广播机制-优快云博客

开源 java android app 开发(十一)调试、发布-优快云博客

开源 java android app 开发(十二)封库.aar-优快云博客

推荐链接:

开源C# .net mvc 开发(一)WEB搭建_c#部署web程序-优快云博客

开源 C# .net mvc 开发(二)网站快速搭建_c#网站开发-优快云博客

开源 C# .net mvc 开发(三)WEB内外网访问(VS发布、IIS配置网站、花生壳外网穿刺访问)_c# mvc 域名下不可訪問內網,內網下可以訪問域名-优快云博客

开源 C# .net mvc 开发(四)工程结构、页面提交以及显示_c#工程结构-优快云博客

开源 C# .net mvc 开发(五)常用代码快速开发_c# mvc开发-优快云博客

本章内容主要是证书刷新和包名修改,很简单,但是没有遇到还是很费时间,记录一下。

一、证书问题修复

1.1  我做好了一个ble的代码,有1个月没有用,再次打开以后编译,开始报错,

如下图

1.2  我对错误进行了查找,AI给出了解决办法,我按下图删文件,输入命令搞了3个小时没解决,头大了。。。

解决办法如下图:

1.3  我尝试了1个简单的办法,重新登录证书。

点击文件->项目结构

选择工程->signing config,选中Automaticlly,出现sign in以后点击

跳转到登录页面

登录完成

最后确认

最后编译,正常运行。

二、修改包名

手机上装了多个app,需要修改不同的包名,否则会覆盖。

2.1  修改appstore下app.json5,改为自己的名称

2.2  将build.profile.json5中的signingCofigs清空只剩[ ]。

2.3  同步Gradle并清理项目。点击文件 --> 同步和刷新项目 。执行重新构建项目,编译成功。

包名不同,手机上的APP就不会再相互替换。

<think>好的,我现在需要帮助用户解决HarmonyOS应用包名重复的问题。首先,我需要回忆一下HarmonyOS的应用结构包名配置的相关知识。根据引用[1],HarmonyOS应用的基本单位是HAP包,而HSPHAR用于共享代码资源。包名可能是在应用的配置文件中设置的,比如在某个配置文件里定义应用的唯一标识。 接下来,用户提到的包名重复,可能是指在安装时系统检测到相同包名的应用,导致冲突。这在Android中通常通过修改包名解决,但HarmonyOS可能有不同的机制。我需要确认HarmonyOS包名的设置位置方式。 根据引用[2],开发HarmonyOS可以使用多种语言,包括ArkTS,所以可能需要检查ArkTS项目中的配置文件。通常,应用包名可能在模块的build.gradle或类似的配置文件中定义。或者,在HarmonyOS中,可能是在config.json或类似的文件里设置的。 另外,引用[4]提到在build-profile.json5中配置strip选项,这可能构建配置有关,但不确定是否与包名相关。不过这说明配置文件的位置可能在模块的build-profile.json5或相关文件中。 我需要进一步查找HarmonyOS应用包名的具体配置位置。通常,应用包名在应用级的配置文件中定义,例如Android中的AndroidManifest.xml。对于HarmonyOS,可能是在app.json5或module.json5中。例如,每个HAP模块可能有自己的配置,其中包含包名信息。 假设在module.json5中,可能有bundleName字段,这应该就是应用的包名。如果两个应用使用了相同的bundleName,就会导致安装冲突。因此,解决方案是修改这个bundleName,确保其唯一性。 同时,可能还需要检查应用的签名信息,因为相同包名但不同签名也可能导致冲突。不过用户的问题更可能是包名本身重复,所以修改bundleName是关键。 总结步骤:1. 定位到模块的配置文件(如module.json5);2. 修改bundleName字段为唯一值;3. 清理并重新构建项目,确保配置生效。 此外,可能还需要考虑全局唯一性,比如加入公司域名反转作为前缀,例如com.companyname.appname,这样可以减少重复的可能性。 最后,需要提醒用户在修改后重新签名应用,因为包名变化可能需要更新签名信息。不过HarmonyOS的具体签名机制可能需要参考官方文档,但修改包名后通常需要重新打包签名。</think>### HarmonyOS应用包名重复解决方案 在HarmonyOS应用开发中,包名(Bundle Name)是应用唯一标识符,需全局唯一以避免安装冲突。若出现包名重复问题,可通过以下步骤解决: --- #### **1. 修改`bundleName`字段** 包名定义在**模块级配置文件`module.json5`**中,路径为: `项目目录 > entry(或其他模块名) > src > main > module.json5` ```json { "module": { "name": "entry", "bundleName": "com.example.yourapp", // 修改此处为唯一包名 "versionCode": 1, // 其他配置... } } ``` **关键要求**: - 包名格式建议:`com.公司名.项目名`(如`com.huawei.demo`)[^1] - 确保所有HAP/HSP模块的`bundleName`一致且唯一[^1] --- #### **2. 检查多模块配置** 若应用包含多个HAP/HSP模块,需确保所有模块的`bundleName`字段值完全相同: ```json // 模块1(entry)的module.json5 "bundleName": "com.example.yourapp" // 模块2(feature)的module.json5 "bundleName": "com.example.yourapp" // 必须与主模块一致 ``` --- #### **3. 清理构建缓存** 修改后执行以下操作确保生效: 1. 点击DevEco Studio菜单栏:`Build > Clean Project` 2. 重新构建:`Build > Rebuild Project` 3. 卸载设备上旧版本应用 --- #### **4. 签名配置同步** 若应用已签名,需在`项目级build-profile.json5`中更新证书信息: ```json "products": [ { "name": "default", "signingConfig": "default", "bundleName": "com.example.yourapp" // 与模块配置一致 } ] ``` --- #### **5. 检查依赖库配置** 若使用HAR或HSP: - 确保依赖库的`bundleName`与主应用不同 - 动态加载HSP时,需通过`bundleName`标识唯一性[^1] --- ### 附:包名设计建议 | 场景 | 命名规范示例 | |-----------------------|--------------------------| | 企业级应用 | `com.companyname.product`| | 开源项目 | `org.projectname.module` | | 个人开发 | `io.github.username.app` | ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值