Flutter for OpenHarmony: Flutter 三方库 package_rename 一键重命名鸿蒙应用包名与显示名称(项目重构利器)

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.ZEEKLOG.net

前言

在 OpenHarmony 应用开发过程中,我们经常会遇到“项目改名”的需求。无论是项目初期的占位名需要转正,还是为了满足不同渠道(如:内测版、正式版)的发布要求,手动去修改 bundleName、应用标题、图标路径等零散在各处的配置,不仅效率低下,且极其容易漏掉某个角落导致编译失败。

package_rename 是一个强大的命令行工具,它通过一套统一的 YAML 配置,实现对 Flutter 多平台(包括鸿蒙端)项目标识符的一键替换。


一、核心重命名链路

package_rename 扮演了全局搜索替换的智能管家。

pubspec.yaml (配置新包名)

运行 package_rename 指令

替换 iOS/Android 标识 (可选)

替换 Web 标题

更新鸿蒙工程 module.json5/AppScope

生成正确的 HAP/APP 包


二、核心 API 实战

2.1 配置重命名规则

你不需要在代码中调用 API,只需在 pubspec.yaml 中添加配置块。

package_rename_config:# 💡 统一设置应用在桌面上显示的名称app_name:"鸿蒙新纪元"# 💡 设置各平台的标识符 (Package Name / Bundle ID / Bundle Name)# 虽然该库主要针对 android/ios,但通过配置可以同步管理android:package_name:"com.ohos.newapp"ios:bundle_name:"NewOhosApp"

2.2 执行重构指令

# 💡 运行后,它会扫描所有的平台配置并自动执行文件修改 dart run package_rename 
在这里插入图片描述

三、常见应用场景

3.1 模板项目快速“转正”

当你从一个已有的鸿蒙模板仓库克隆项目后,第一件事就是利用此工具快速更名为自己的业务包名。

在这里插入图片描述

3.2 区分多环境构建

在同一个源码库下,快速通过修改配置来产出包名不同的“开发版”和“生产版”应用,方便在一台鸿蒙手机上同时安装共存。


四、OpenHarmony 平台适配

4.1 自动修改鸿蒙核心配置文件

💡 技巧:在鸿蒙 Flutter 项目中,核心标识符存在于 ohos/AppScope/app.json5 中的 bundleName 以及 ohos/entry/src/main/module.json5 中。虽然 package_rename 目前主要直接覆盖 Android/iOS 目录,但其强大的插件机制支持我们通过一行脚本命令,在改名后自动联动修改鸿蒙的 Json 配置文件。

4.2 适配鸿蒙应用图标刷新

改名往往伴随着图标更换。配合 package_rename 的执行逻辑,可以确保应用在鸿蒙桌面上显示的“标签文字”与“包身份”完全匹配,避免出现“名字改了,包还是旧的”尴尬情况。


五、完整实战示例:鸿蒙品牌重塑自动化脚本

本示例演示如何配合此库,编写一个完整的“品牌更名”自动化脚本。

// 💡 模拟自动化执行逻辑import'dart:io';classOhosRebrandingTool{staticFuture<void>start()async{print('🚀 开始鸿蒙应用品牌重塑流程...');// 1. 运行 package_rename 替换各端显示名称final result =awaitProcess.run('dart',['run','package_rename']);if(result.exitCode ==0){print('✅ 基础显示名称已更新');}// 2. 自定义脚本补丁:联动修改鸿蒙 AppScope 中的 bundleNamefinal appJsonPath ='ohos/AppScope/app.json5';final file =File(appJsonPath);if(await file.exists()){String content =await file.readAsString();// 这里进行简单的 bundleName 模拟替换逻辑 content = content.replaceAll('com.old.name','com.harmony.newapp');await file.writeAsString(content);print('✅ 鸿蒙 bundleName 联动修改完成');}print('✨ 打包准备就绪:请运行 flutter build hap');}}voidmain()=>OhosRebrandingTool.start();
在这里插入图片描述

六、总结

package_rename 软件包是 OpenHarmony 开发者在项目迭代中的“后悔药”和“推进器”。它将繁琐、易错的全局修改任务转化为一个确定性的自动化动作。在追求项目整洁与标准化的鸿蒙研发体系中,学会利用这种脚手架工具进行项目治理,是保持开发节奏不被打乱的有效手段。

Read more

深挖 DeepSeek 隐藏玩法·智能炼金术2.0版本

深挖 DeepSeek 隐藏玩法·智能炼金术2.0版本

前引:屏幕前的你还在AI智能搜索框这样搜索吗?“这道题怎么写”“苹果为什么红”“怎么不被发现翘课” ,。看到此篇文章的小伙伴们!请准备好你的思维魔杖,开启【霍格沃茨模式】,看我如何更新秘密的【知识炼金术】,我们一起来解锁更加刺激的剧情!友情提醒:《《《前方高能》》》 目录 在哪使用DeepSeek 如何对提需求  隐藏玩法总结 几个高阶提示词 职场打工人 自媒体创作 电商实战 程序员开挂 非适用场地 “服务器繁忙”如何解决 (1)硅基流动平台 (2)Chatbox + API集成方案 (3)各大云平台 搭建个人知识库 前置准备 下载安装AnythingLLM 选择DeepSeek作为AI提供商 创作工作区 导入文档 编辑  编辑 小编寄语 ——————————————————————————————————————————— 在哪使用DeepSeek 我们解锁剧情前,肯定要知道在哪用DeepSeek!咯,为了照顾一些萌新朋友,它的下载方式我放在下面了,拿走不谢!  (1)

By Ne0inhk
【AI大模型】DeepSeek + 通义万相高效制作AI视频实战详解

【AI大模型】DeepSeek + 通义万相高效制作AI视频实战详解

目录 一、前言 二、AI视频概述 2.1 什么是AI视频 2.2 AI视频核心特点 2.3 AI视频应用场景 三、通义万相介绍 3.1 通义万相概述 3.1.1 什么是通义万相 3.2 通义万相核心特点 3.3 通义万相技术特点 3.4 通义万相应用场景 四、DeepSeek + 通义万相制作AI视频流程 4.1 DeepSeek + 通义万相制作视频优势 4.1.1 DeepSeek 优势 4.1.2 通义万相视频生成优势 4.2

By Ne0inhk
【DeepSeek微调实践】DeepSeek-R1大模型基于MS-Swift框架部署/推理/微调实践大全

【DeepSeek微调实践】DeepSeek-R1大模型基于MS-Swift框架部署/推理/微调实践大全

系列篇章💥 No.文章01【DeepSeek应用实践】DeepSeek接入Word、WPS方法详解:无需代码,轻松实现智能办公助手功能02【DeepSeek应用实践】通义灵码 + DeepSeek:AI 编程助手的实战指南03【DeepSeek应用实践】Cline集成DeepSeek:开源AI编程助手,终端与Web开发的超强助力04【DeepSeek开发入门】DeepSeek API 开发初体验05【DeepSeek开发入门】DeepSeek API高级开发指南(推理与多轮对话机器人实践)06【DeepSeek开发入门】Function Calling 函数功能应用实战指南07【DeepSeek部署实战】DeepSeek-R1-Distill-Qwen-7B:本地部署与API服务快速上手08【DeepSeek部署实战】DeepSeek-R1-Distill-Qwen-7B:Web聊天机器人部署指南09【DeepSeek部署实战】DeepSeek-R1-Distill-Qwen-7B:基于vLLM 搭建高性能推理服务器10【DeepSeek部署实战】基于Ollama快速部署Dee

By Ne0inhk

DeepSeek各版本说明与优缺点分析_deepseek各版本区别

DeepSeek各版本说明与优缺点分析 DeepSeek是最近人工智能领域备受瞩目的一个语言模型系列,其在不同版本的发布过程中,逐步加强了对多种任务的处理能力。本文将详细介绍DeepSeek的各版本,从版本的发布时间、特点、优势以及不足之处,为广大AI技术爱好者和开发者提供一份参考指南。 1. DeepSeek-V1:起步与编码强劲 DeepSeek-V1是DeepSeek的起步版本,这里不过多赘述,主要分析它的优缺点。 发布时间: 2024年1月 特点: DeepSeek-V1是DeepSeek系列的首个版本,预训练于2TB的标记数据,主打自然语言处理和编码任务。它支持多种编程语言,具有强大的编码能力,适合程序开发人员和技术研究人员使用。 优势: * 强大编码能力:支持多种编程语言,能够理解和生成代码,适合开发者进行自动化代码生成与调试。 * 高上下文窗口:支持高达128K标记的上下文窗口,能够处理较为复杂的文本理解和生成任务。 缺点: * 多模态能力有限:该版本主要集中在文本处理上,缺少对图像、语音等多模态任务的支持。 * 推理能力较弱:尽管在自然语言

By Ne0inhk