ARTICLE DETAIL

资讯详情

深耕网站SEO优化与搜索引擎排名提升的一线实战洞察。

【细胞工坊|20】HarmonyOS ArkTS AppGallery 发布复查实战:核对包名、版本、设备、素材和离线声明

【细胞工坊|20】HarmonyOS ArkTS AppGallery 发布复查实战:核对包名、版本、设备、素材和离线声明 本文基于「细胞工坊」真实 HarmonyOS ArkTS 源码编写源码目录为D:\huawei\one14-9重点复核AppScope/app.json5、entry/src/main/module.json5、entry/src/main/ets/entryability/EntryAbility.ets、entry/src/main/resources/base/profile/main_pages.json、entry/src/main/resources/base/media、pages/Index.ets、pages/HomePage.ets和views/mine/AboutPage.ets。需要先说明边界本文只核对本地工程配置、入口链路、素材和页面声明不声称已经完成 AGC 后台发布、不记录公开上架结果、不伪造审核状态。AGC 后台的包体绑定、审核状态和公开链接必须以真实后台回读为准。一、发布复查不是“再看一遍”而是把身份、入口和材料对齐HarmonyOS 应用进入 AppGallery 发布前最容易出问题的不是某个页面按钮而是工程身份和上架材料不一致。比如包名和 AGC 应用不一致版本号和关于页显示不一致设备类型选了平板但页面没有做宽屏适配隐私材料写离线但工程声明了联网权限图标资源和 AGC 素材不是同一套。这类问题不一定在开发调试时暴露却会在上架审核或用户安装后变成阻塞。「细胞工坊」05-20 的复查目标是把本地工程里的可复核信息串起来AppScope/app.json5定义包名、版本、图标和应用名module.json5定义入口 Ability、设备类型、启动图标和页面配置EntryAbility.ets加载pages/Index并设置深色模式和系统栏AboutPage.ets展示版本、适配设备和离线隐私说明resources/base/media下提供应用图标和功能图标。这篇文章不会把“本地配置存在”写成“平台已发布成功”。本地复查只能证明准备材料有据可查不能替代 AGC 后台真实选择包体、保存版本、提交审核、回读状态和公开链接。二、AppScope/app.json5包名和版本是发布身份的第一锚点AppScope/app.json5是应用级身份配置。当前源码里可以看到bundleName为com.jiaweikan.one14versionCode为1000000versionName为1.0.0vendor为jiaweikan图标和名称分别引用资源。{ app: { bundleName: com.jiaweikan.one14, vendor: jiaweikan, versionCode: 1000000, versionName: 1.0.0, icon: $media:layered_image, label: $string:app_name } }这段配置对应 AppGallery 发布复查的第一组问题AGC 后台目标应用是否就是com.jiaweikan.one14上传包体解析出的版本是否是1.0.0版本号是否比已上架版本递增或符合平台要求应用名称和图标是否来自当前工程资源而不是旧包残留。需要注意的是versionName1.0.0也出现在AboutPage.ets的页面展示中。如果工程版本升级到1.0.1关于页仍显示1.0.0用户和审核材料就会出现不一致。因此发布复查不是只看 JSON还要看页面文案。三、module.json5设备类型、入口 Ability 和启动素材要同 AGC 选择一致entry/src/main/module.json5定义 entry 模块和 Ability。当前配置里deviceTypes包含phone、tablet、2in1入口为EntryAbilityAbility 图标使用$media:layered_image启动窗口图标使用$media:app_icon_square启动背景使用$color:start_window_background。{ module: { name: entry, type: entry, mainElement: EntryAbility, deviceTypes: [phone, tablet, 2in1], pages: $profile:main_pages, abilities: [ { name: EntryAbility, srcEntry: ./ets/entryability/EntryAbility.ets, icon: $media:layered_image, startWindowIcon: $media:app_icon_square } ] } }这段配置直接影响 AGC 后台材料选择。如果后台只配置手机素材但包体声明支持平板和 2in1就可能出现设备素材不完整、页面适配不足或审核信息不一致。反过来如果 AGC 后台选择了平板源码页面就要能在宽屏下不截断、不重叠、不被状态栏和导航栏遮挡。当前HomePage.ets和LearningPage.ets都有基于screenWidth的列数调整EntryAbility.ets也计算了底部导航避让区。这些可以作为“已考虑多设备布局”的源码证据。但源码仍需要真实运行截图和设备测试来支撑 AGC 素材不能只靠配置声明。四、EntryAbility启动链路要从窗口加载到 Index发布复查必须确认应用能正常启动到主页面。EntryAbility.ets的onWindowStageCreate中先拿到主窗口关闭全屏布局设置状态栏和导航栏颜色再调用windowStage.loadContent(pages/Index)加载主页面。windowStage.loadContent(pages/Index, (err) { if (err.code) { hilog.error(DOMAIN, One9App, Failed to load the content. Cause: %{public}s, JSON.stringify(err)); return; } hilog.info(DOMAIN, One9App, Succeeded in loading the content.); });这段代码给发布复查提供了明确的启动路径EntryAbility - WindowStage - pages/Index - Tabs - Home/Lab/Learning/Mine。如果 AppGallery 预检查或真机测试出现白屏第一优先级就是确认main_pages.json是否包含pages/IndexloadContent路径是否一致Index.ets是否能编译主页面依赖的组件是否有非法文本或资源缺失。当前EntryAbility还把应用颜色模式设为深色并设置系统栏颜色。这和 05-17 视觉令牌文章中的深色主题边界一致。发布材料如果写“支持亮暗色切换”就和源码不一致更准确的表述是当前版本使用深色视觉方案。五、main_pages.json所有可跳转页面都应在页面清单中entry/src/main/resources/base/profile/main_pages.json列出了主入口、实验页、结果页、场景选择页、学习工具页、我的页子页面、隐私政策和用户协议。这个文件决定路由能否找到页面。{ src: [ pages/Index, views/experiment/ExperimentSimPage, views/mine/SettingsPage, views/mine/AboutPage, views/mine/PrivacyPolicyPage, views/mine/UserAgreementPage ] }发布复查时要把页面清单和页面实际跳转统一核对。首页会跳views/experiment/ExperimentSimPage和学习页我的页会跳记录、收藏、笔记、设置、帮助、关于设置页会跳隐私政策和用户协议。只要跳转 URL 没在main_pages.json中发布后就可能出现点击无响应或路由失败。这也是 AppGallery 审核中“核心功能异常”的常见来源。开发者往往只打开首页截图没把二级页面全部点过。复查时应至少覆盖主 Tab 和每个一级菜单入口。六、素材核对图标资源必须和模块引用对得上resources/base/media下存在layered_image.json、app_icon_square.png、startIcon.png、background.png、foreground.png以及多个业务图标和底部 Tab 图标。module.json5和app.json5引用了$media:layered_image与$media:app_icon_square因此这些资源就是包体内的图标来源。layered_image.json app_icon_square.png startIcon.png ic_tab_home.svg ic_tab_lab.svg ic_tab_learn.svg ic_tab_mine.svg发布复查不需要在文章里暴露图片二进制内容但要检查资源是否存在、命名是否和配置引用一致、图标是否清晰、是否有透明背景风险、启动窗口图标和 AGC 应用图标是否来自同一视觉设计。当前本地检查能确认app_icon_square.png和startIcon.png存在且是 PNG 文件但真正的显示效果仍应通过安装启动和 AGC 预览确认。素材一致性还有一个实际问题关于页里显示的是文本图标Bio而包体图标来自媒体资源。如果 AGC 截图要展示应用图标需要确认页面内图标、启动图标和商店图标不会让用户误以为是不同应用。七、AboutPage版本、设备和离线声明是市场材料的源码依据AboutPage.ets中展示了应用名称、版本号、开发框架、适配设备并在“合规与隐私”区块说明单机离线、无需连接公共互联网、未声明联网权限或敏感权限、不收集上传个人信息、数据保存在 HarmonyOS Preferences、未集成第三方统计广告或推送 SDK。this.InfoRow(版本号, 1.0.0) this.InfoRow(开发框架, HarmonyOS ArkTS) this.InfoRow(适配设备, 手机、平板、二合一设备)这段页面内容要和AppScope/app.json5、module.json5、隐私政策和 AGC 后台材料一致。当前源码中versionName1.0.0关于页也写1.0.0deviceTypes包含 phone、tablet、2in1关于页也写手机、平板、二合一设备module.json5没有声明联网权限关于页也写无需联网。如果未来新增联网反馈、云同步、账号登录或在线内容关于页和隐私政策必须同步更新。发布复查的核心不是“文案好看”而是文案能否被源码反证。八、HomePage 和 Index设备适配声明要有布局证据AppGallery 后台如果选择手机、平板、2in1页面就要能支撑不同宽度。HomePage.ets中有screenWidth状态和gridColumns()方法用宽度决定 Grid 列数Index.ets使用bottomBarHeight避让底部系统导航区域。private gridColumns(): string { if (this.screenWidth 840) return 1fr 1fr 1fr 1fr if (this.screenWidth 600) return 1fr 1fr 1fr return 1fr 1fr 1fr }这说明源码有多设备适配意识但仍要真实截图验证。比如首页 Grid 在手机和 2in1 宽屏下是否高度足够按钮文字是否被乱码或截断影响底部导航是否避让系统手势区域状态栏文字是否在深色背景上可读。发布复查时不要只截首页。至少要截首页、实验室、学习中心、我的页、隐私政策或关于页。因为设备声明覆盖的是整个应用不是首页。九、签名配置和包体选择只核对存在不泄露材料工程的build-profile.json5中存在 HarmonyOS 签名配置和 release/debug 构建模式。发布复查时要确认签名配置对应 intended release 包体AGC 后台选中的包体和本地构建出的版本一致。这里有严格边界证书路径、密钥口令、Store 密码、Profile 路径等属于敏感信息不应写入文章、日志或公开材料。文章只能写复查动作确认有 release 构建配置确认目标 SDK 和兼容 SDK 符合项目预期确认 AGC 后台选择的是最新上传包体确认版本名和版本号与app.json5一致。不能把任何签名秘密打印出来也不能把“本地存在签名配置”说成“已成功提交 AGC 审核”。如果发布时出现包体绑定错误正确处理方式是回到 AGC 版本页打开包体选择按版本号、上传时间和大小选择目标包体保存后再提交而不是只上传文件就认为完成发布。十、发布复查表把每一项绑定到源码位置复查项源码位置当前证据包名AppScope/app.json5com.jiaweikan.one14版本AppScope/app.json5/AboutPage.ets1.0.0版本号页面一致设备类型module.json5/AboutPage.etsphone、tablet、2in1页面写手机、平板、二合一入口 Abilitymodule.json5EntryAbility主页面EntryAbility.ets/main_pages.json加载pages/Index图标素材resources/base/medialayered_image.json、app_icon_square.png存在离线声明AboutPage.ets/module.json5文案写离线模块未声明联网权限隐私入口main_pages.json/ 设置页隐私政策、用户协议页面在清单内多设备布局HomePage.ets/Index.ets宽度列数和底部避让有代码依据这张表可以直接作为发布前自查入口。任何一项不一致都应先修本地工程或材料再进入 AGC 后台操作。十一、常见发布复查问题与修复方向问题可能后果修复方向versionName升级但关于页没改用户和审核看到版本不一致把版本展示改为资源或构建时同步AGC 选择设备多于页面适配范围平板/2in1 截图或运行异常补多设备截图和布局验证或收窄设备图标资源和 AGC 图标不是同一套商店展示与安装体验割裂统一包体图标、启动图标和 AGC 素材隐私文案写离线但新增联网能力审核材料与真实行为冲突同步权限、隐私政策、关于页和市场描述只上传包体但未在版本页选择AGC 仍绑定旧包回到版本页选择最新包体并保存源码中文乱码进入页面截图和用户体验异常发布前统一编码检查和真机截图复核对「细胞工坊」来说当前最需要关注的是两个边界一是源码中多处中文在终端显示异常发布前必须以 DevEco/真机页面为准确认显示正常二是前几篇已发现部分页面文件头混入外部测试说明发布前必须清理非法文本并重新构建。十二、结论本地复查是 AGC 操作前的证据准备基于D:\huawei\one14-9的真实源码05-20 能得出的结论是细胞工坊本地工程中包名为com.jiaweikan.one14版本为1.0.0模块声明支持 phone、tablet、2in1入口 Ability 加载pages/Index图标素材存在关于页展示版本、设备和离线隐私说明主页面有一定多设备布局依据。不能得出的结论是AGC 后台已经选中最新包体、已经提交审核、已经公开发布、已经获得真实公开 URL。发布复查的价值在于把本地证据准备好减少进入平台后才发现身份、版本、设备、素材或声明不一致。真正的全平台发布和腾讯文档提报必须等公开页面和平台回读数据存在后再记录。部分内容由AI辅助生成。
返回列表