夜雨聆风学习资料网

ARTICLE · 1287789

AI自动生成代码:鸿蒙APP(下)

AI自动生成代码:鸿蒙APP(下)

上回书说到:

我搭建了一套开发鸿蒙APP所需的环境DevEco Studio,以及AI 辅助编程工具DevEco Code。这样我就可以通过聊天的方式开发app了。

先回答两个问题:

1. DevEco Code用的是啥大模型?

底层由智谱(Z.ai)训练的 GLM 大模型驱动,具体模型为 deveco/GLM-5.3。据说是代码生成界的顶级了。

2. 收费不?

免费

(因为有点儿小兴奋,今天的内容比较啰嗦,请酌情看完……)

========

啰里啰嗦的使用感受

========

除了想体验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 了,选中它。

配置自动签名:

之前为了在模拟器上跑,咱们跳过了签名这一步。但真机非常严格,没有合法的签名它是不让你安装的。操作步骤很简单:

  1. 在 DevEco Studio 最顶部的菜单栏,找到并点击 File -> Project Structure...(项目结构)。
  2. 在弹出的窗口左侧选择 Project -> Signing Configs。
  3. 勾选 Automatically generate signature(自动生成签名)。
  4. 此时系统会要求你登录华为账号。点击 Sign In,在浏览器里登录你的华为开发者账号并授权。
  5. 登录成功后,回到窗口,等底部的进度条跑完,看到 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及以上

回首页,搜索你想要的文档

在首页搜索框输入关键词,快速定位资料

文库首页搜索指引 立即搜索

相关学习资料