ARTICLE · 1287789
AI自动生成代码:鸿蒙APP(下)
上回书说到:
我搭建了一套开发鸿蒙APP所需的环境DevEco Studio,以及AI 辅助编程工具DevEco Code。这样我就可以通过聊天的方式开发app了。
先回答两个问题:
底层由智谱(Z.ai)训练的 GLM 大模型驱动,具体模型为 deveco/GLM-5.3。据说是代码生成界的顶级了。
免费
(因为有点儿小兴奋,今天的内容比较啰嗦,请酌情看完……)
========
啰里啰嗦的使用感受
========
除了想体验AI开发软件以外,我其实是真有一个痛点需要解决:盼日子。
作为一个初三孩子的家长,在未来的四年里,是真难熬啊~~~。
叛逆期的孩子太不让人省心了。照顾他饮食起居,成天忍气吞声,自己身心俱疲的同时,还要时刻关注他的生理和心理上的健康成长。
度日如年啊,太难熬啦……
所以,我想做这么一个APP,放在手机桌面上,随时告诉自己还有多少天就解脱了——给自己留一个念想。
大致需求如下:
天为单位。 设置开始/结束日期,开始倒计天数。 在桌面上添加卡片,打开手机就能看到。 可以给每天写一句话,做标记。等倒计时结束,可以查看,总结,导出整个心路历程。(这条的灵感来自电影《热辣滚烫》结尾的减肥日记。)
整个开发过程中,让我惊喜不断:
AI给的提示词比我写的要好很多。调理清晰,步骤严谨,123条列得明明白白。
项目的中文名/英文名,是他帮我起的;
图标也是他帮我设计的;
甚至,最后提交审核的项目简介都是他给我写的。
所以,我“开发软件”的顺序是:先把想法跟AI说 -> AI生成提示词 -> 复制粘贴到DevEco Code里执行 -> 我喝茶等结果。
对于我这种懒货来说,简直是服务到家了。
对于DevEco Code,也很让我意外,它不但会写代码,还会写测试用例,遇到测试不通过还会分析问题,解决问题。身兼数职,自问自答。Thinking,Buiding,Testing……
有点儿过于优秀了,有点儿……。
看着屏幕里的文本框不断向上滚动,感觉很神奇。有种”骇客帝国“的感觉。
就这样,我跟AI聊,AI跟DevEco Code聊,我们仨不知不觉就玩到半夜,根本停不下来。
最后,还是在AI的帮助和“陪伴”下,我成功的把这个小APP,提交到华为应用市场,并通过审核,正式发行了。
还要啥自行车啊?
当然,需要注意的“坑”还是有的:
第一个,之所以这么顺利,很大原因是我这次做的APP太简单了。所以,我一直都在用Build 模式,通过对话框直接让DevEco Code写代码。如果是比较复杂的项目,就会用到另外两个模式(Plan和Goal,详见上篇 ),跟AI之间扯皮的事情应该就会多了。
第二个,向HarmonyOS开发者中心提交上线审核的时候,两次被退回。主要原因就两个:功能太简单 和 应用名称跟其他的太过相像。确实是我的问题,是我想得太简单/太儿戏了。平台对发布的app还是有一定要求的。好在最终成功了!
(……结尾有彩蛋……)
========
开发过程
========
前面已经说过了,整个开发都是在我、AI、DevEco Code,我们仨之间聊天完成的。因为我的要求不多,一个主页面就够了。我把上面的需求发给AI,他给我的提示词是这样的:
“这个项目叫 Countdown,是一个以‘天’为单位的倒计时应用。请帮我实现主界面的基础功能:
1.页面顶部提供日期选择功能,让用户分别设置‘起始日期’和‘结束日期’。为了美观,请使用点击弹窗(Dialog)的方式来选择日期。
2.默认起始日期为今天,结束日期为今天往后推 30 天。
3.在页面中央,放置一个显眼的卡片(Card),实时计算并显示‘距离结束还有 XX 天’。
4.计算逻辑:以‘天’为单位,请确保起始和结束日期都按 00:00:00 计算,避免因为时分秒导致少算一天。如果结束日期早于今天,要提示‘已结束’。
5.界面风格采用极简的深色模式(Dark Mode)。请直接帮我编写代码并在模拟器上运行。”
一如既往,在执行过程中,我有任何问题,都问AI。
“一盏茶”的功夫,第一版的效果出来了。让我很惊艳:

我接着跟AI说:
第一版出来了,还不错,我想让他在datepicker上加一个可编辑的标题栏,并且增加保存到本地的功能
AI直接甩给我提示词:
“第一版的 UI 非常棒,我很满意。现在我们需要增加两个核心功能:
1. 增加可编辑的标题栏:
在‘日期设置’卡片的上方,增加一个显眼的标题输入区域。用户可以点击修改这个倒计时项目的名称(比如‘考研倒计时’、‘减肥目标’等),默认名称就叫‘我的倒计时’。
2. 增加本地持久化(保存到本地):
请使用 @ohos.data.preferences 实现数据的持久化保存。需要保存的数据包括:当前的‘标题’、‘起始日期’和‘结束日期’。
- 每次用户修改了标题,或者通过 DatePicker 重新调整了日期,都要立即自动保存到本地。
- 当应用启动(aboutToAppear)时,自动读取本地保存的数据。如果读到了,就恢复标题和日期;如果是第一次打开,就使用默认值。
请帮我修改代码并在模拟器上运行。”
经过十几二十次这样的来回,整个APP就做出来了(还是那句话,也是得益于功能足够简单)。
========
真机测试
========
虽然模拟器很好用,但是有些功能只有在真机上才能使用。比如:导出pdf文件,分享并保存到本地。
我的手机是mate60 pro,系统版本是4.2,太老了。为了测试,我怀着忐忑的心情给升级到7.0版本。结果是好的,没让我后悔。
手机准备:
在你的 Mate 60 Pro 上,进入 设置 > 关于本机,连续点击“版本号”7次,开启开发者模式。然后进入 设置 > 系统 > 开发者选项,打开 “USB 调试”。
连接电脑:
用数据线把手机连上电脑。手机屏幕上会弹出一个“是否允许 USB 调试”的窗口,务必勾选“始终允许”并点击确定。
看DevEco Studio 顶部工具栏,设备下拉框里应该已经显示出Mate 60 Pro 了,选中它。
配置自动签名:
之前为了在模拟器上跑,咱们跳过了签名这一步。但真机非常严格,没有合法的签名它是不让你安装的。操作步骤很简单:
在 DevEco Studio 最顶部的菜单栏,找到并点击 File -> Project Structure...(项目结构)。 在弹出的窗口左侧选择 Project -> Signing Configs。 勾选 Automatically generate signature(自动生成签名)。 此时系统会要求你登录华为账号。点击 Sign In,在浏览器里登录你的华为开发者账号并授权。 登录成功后,回到窗口,等底部的进度条跑完,看到 Success 字样,点击 OK。

一键运行:
签名配置成功后,直接点击顶部绿色的 Run 按钮,DevEco Studio 就会把 App 打包并安装到你的手机上。

到此为止,如果只在自己的手机上用,就完全够用了。
这样还有个好处:如果想用一些release版里不让用的功能,或者申请不下来的手机权限,在这个时候是没有限制的。
========
上线前的准备
========
App 的“合规化”与“包装”改造(让代码达到上架标准)
现在的 App 就像是刚装修好的毛坯房,功能都有,但要迎客(审核员)还得精装修一下。你可以把下面这段“上架前大检查”的任务发给 DevEco Code:
复制以下内容发送给 DevEco Code:
“现在我们的目标是把《彼岸日迹》上架到华为应用市场。请帮我进行上架前的代码合规化和体验优化:
1.清理测试痕迹:把之前测试用的临时数据(比如那几个假日记、假标题)的初始化代码全部删掉,让 App 首次打开时是干净的初始状态。
2.补充基础能力:给 App 增加‘清空所有记录’的功能(可以放在页面底部的设置里,并带个二次确认弹窗),防止用户想重新开始。
3.异常处理:检查所有读写本地存储(Preferences)的地方,加上完整的 try-catch,防止因为存储失败导致 App 闪退。
4.关于页面:在主页面的某个角落(比如右上角加个小菜单),加一个简单的‘关于’弹窗,里面写上‘版本号 1.0.0’以及‘由xxx开发’。
请先完成这些基础优化,并在模拟器上跑通,确保没有任何红字报错。”

(新增加的“关于”)
准备应用素材
应用图标:导出一个高清(1024x1024),直角,PNG图片。
应用截图:等模拟器/真机调完美了,截几张图(主页、总结页、卡片等,至少要3-5张)。
应用介绍:写一段吸引人的话(我是让AI帮我生成的)。
========
签名、打包与上架
========
上架鸿蒙应用,必须完成APP备案。整个上架流程,你可以把它想象成“给App办一张身份证和营业执照”,核心分四步走:
第一步:注册开发者账号
去华为开发者联盟官网注册。个人开发者需要完成实名认证,企业开发者则需要营业执照等材料。这是你拥有“发版权限”的前提。
开发者联盟官网:https://developer.huawei.com/consumer/cn/

第二步:申请发布证书与 Profile
AppGallery Connect,华为应用市场提供的服务平台,下面简称AGC。
之前测试环境下,用的是“自动签名”跑真机,但上架必须用 “发布证书(Release)”。需要手动在AGC里申请:
- 生成密钥与证书请求文件
在 DevEco Studio 的菜单栏找到 Build > Generate Key and CSR,生成 .p12(密钥库)和 .csr(证书请求文件)。 这个 .p12 文件和密码一定要死记硬背或者存好,一旦丢了,以后就没法更新App了。
需要注意的是最后一行,填英文的CN,其他项也最好英文。

- 申请发布证书
用 .csr 文件去 AppGallery Connect 网站申请调试证书( .cer文件,用于真机调试)和发布证书(用于上架),并下载。 - 申请发布Profile
在AGC创建发布Profile(.p7b 文件),它绑定了你的应用包名和证书信息,并下载。 
- 配置签名并打包
在工程配置中填入生成的证书和 Profile 信息,然后通过 Build > Build Hap(s)/APP(s) > Build APP(s) ,生成用于上架的 .app 包。 
编译成功后,去左侧项目目录的 build > outputs > default 文件夹里找一个名叫 Countdown-default-signed.app 或者类似名字的文件。这个 .app 文件就是你要上传到华为应用市场的最终安装包!
第三步:准备上架素材与合规材料
在你的AGC后台新建应用时,需要提交一堆材料。
入口:点击网页右上角的“开发者中心”,点击“新建项目”。获得APP ID。

再点击上方的“应用管理”。下面填写的所有信息都在这里填。

应用信息:补充图标,开发者服务信息等。
软件包管理:上传前面打包的.app文件,并启动上架自检。等待“检测通过”。
版本信息:内容较多,从上往下逐项填。胜利就在眼前,挺住!主要是:
发布国家或地区:中国大陆
应用介绍:上面提的材料里的简介
应用截图和视频:上面提的材料里的截图(3-5张)
应用内资费:全部不勾选,一个都别选!
内容分级:我的没有门槛,直接3+
隐私声明:应用市场现在对隐私要求极严。哪怕你的 App 连网都不连,也必须在 App 里加一个隐私政策弹窗,声明你不收集用户数据。像我这样的小软件,又没有什么法律风险,直接选“隐私托管”。直接在平台上生成,生成后可以在左侧菜单的“更多服务-协议服务”里查到。
这里有个坑:一个app只能建立一个隐私声明,而且里面的项目名称是不可改的,所以每次改应用名,就的声明都要删掉,重新建。
备案信息-APP类型信息:单机APP
联系方式:方便平台联系到你
上架时间:审核通过立即上架
第四步:提交审核
材料备齐后,上传签名好的 .app 包,填写好所有信息,提交审核。

先是系统自动预审,再是人工审核。普通应用审核通常1-3个工作日,多数24小时内就会有结果。
万一审核员给你驳回了,也别灰心。他们会在后台的“审核意见”里极其详细地写明原因(比如“某处文字排版有遮挡”、“隐私政策链接打不开”等)。你只要照着意见修改,重新打个包传上去就行。
好啦!蒸腾了这么老半天,能做的都做了,坐等app上架吧!
后面继续第四项:
既然,开发APP挣钱的路不好走,我还想到一条路,虽然收入不多,但好在门槛低——AI训练师。
敬请期待……
(反正我挺期待的)
========
彩蛋
========
我第一次用AI开发的软件,第一款在华为应用市场上架的APP产品,已经可以下载了!欢迎适用,交流。
——这件事儿很小,意义很大。
应用市场搜索:彼岸日迹
支持华为手机,系统版本:HarmonyOS 6.1及以上















































































