拓冰建站拓冰建站
首页 / 资讯中心 / 正文

【时光清单|20】HarmonyOS ArkTS AppGallery 发布复查实战:核对包名、版本、设备、素材和离线声明

【时光清单20】HarmonyOS ArkTS AppGallery 发布复查实战核对包名、版本、设备、素材和离线声明唯一核验标记CSDN-SERIES:ALL-163210769证据口径本文严格区分当前源码事实、2026-05-20 历史 APP/HAP 证据和建议发布流程。本轮未构建新包、未执行设备测试、未操作 AGC也未读取任何平台审核结果上传、绑定、提交、审核通过与上架始终是不同状态。AppGallery 发布复查不是把后台表单从上到下看一遍而是确认源码、候选包、运行行为、商店字段和展示素材都在描述同一个版本。只要其中一层仍指向旧状态就可能出现“上传的是新包绑定的是旧包”“包只支持手机后台却勾选了平板”“源码没有联网隐私材料却写了云端同步”等问题。“时光清单”的当前源码给出了很清楚的发布基线Bundle Name 为com.jiaweikan.one8版本名1.0.0版本号1000000模块只声明phone入口采用 Stage 模型主页面从pages/Index加载工程没有声明网络权限也没有检索到 HTTP、Web、推送、广告或统计 SDK 的调用。与此同时资源复查发现 AppScope 与 entry 模块使用了视觉明显不同的分层图标这比一般的表单遗漏更值得在构建候选包前处理。本文基于D:\huawei\one8的真实源码、资源文件和历史产物元数据给出一套可重复执行的发布复查方法。文章只讨论本地可核验事实和建议流程不声称已经完成新的 release 构建、设备测试、AGC 提交、审核或上架也不会展示任何签名、账号或会话秘密。零、先把三类证据分开发布复查最怕把“源码里写了什么”“历史上生成过什么”和“现在建议做什么”混成一句话。本文按下面三类证据叙述类型本轮可复核内容不能外推的结论当前事实AppScope/app.json5、module.json5、EntryAbility、Preferences、卡片、备份声明和图标资源当前 release 包已经构建或测试通过历史证据2026-05-20 的 APP/HAP 文件及其时间、大小这些产物包含 2026-08-24 的当前源码建议实现重新构建、包回读、安装启动卸载、素材对账、AGC 上传绑定与 fresh readbackAGC 已保存、已提交、已审核或已上架本地源码当前明确给出com.jiaweikan.one8、1.0.0、1000000与phone声明定向扫描没有命中 INTERNET 权限、HTTP、Web、socket、运行依赖或请求权限代码。这个结果只能支持“当前扫描范围内未发现”不能替代对最终 APP/HAP 的权限、依赖和运行流量审计。资源证据则更直接AppScope 前景是带“时光清单”文字的山水亭台图entry 分层图标和startIcon.png是蓝底四宫格。两套资源在本轮逐张目视检查中明显不同因此文章把它列为当前风险而不是写成已经修复。备份方面也只确认allowToBackupRestoretrue和扩展声明当前onBackup、onRestore只记录日志并返回不能声称业务数据备份恢复已经完成验证。一、先定义“发布候选版本”发布复查必须围绕一个不可含糊的候选版本展开。至少记录source revision bundleName versionName versionCode build mode package path package size package hash build timestamp target device types若复查期间又修改了代码、资源、版本号或权限原候选包立即失效需要重新构建、重新计算哈希并重新执行冒烟。否则测试报告与最终上传包不是同一份交付物。当前工程目录中可以找到 2026 年 5 月生成的 HAP但文件时间明显早于本次源码复查。旧产物只能证明历史上构建过不能证明当前源码已经形成可提交的 release 候选包。因此本文不会把它写成“最新包验证通过”。二、AppScope 决定应用级身份真实AppScope/app.json5的核心内容如下{ app: { bundleName: com.jiaweikan.one8, vendor: example, versionCode: 1000000, versionName: 1.0.0, icon: $media:layered_image, label: $string:app_name } }复查时要分别回答五个问题AGC 当前应用的 Bundle Name 是否确实为com.jiaweikan.one8最终候选包解析出的 Bundle Name 是否一致versionCode是否高于已发布版本而不是只修改展示用的versionName应用名称资源是否仍解析为“时光清单”vendor仍为示例值是否符合项目的正式发布约定。vendor: example不一定直接造成审核失败但它明显是模板痕迹应在发布冻结前由项目负责人确认。发布文章不能擅自把它改写成正式厂商值更不能把未确认的信息填入 AGC。三、版本名与版本号必须双重递增versionName面向用户versionCode面向系统和商店。常见失配包括更新说明写了 1.0.1包内仍是 1.0.0versionName已变化versionCode没有递增About 页面显示旧版本上传了多个同名包AGC 版本页仍绑定较早的一条测试用包与提交包签名或构建模式不同。正确做法是从最终候选包读取版本不以源码编辑器中的文字作为最终证据。上传后还要回到版本页重新打开包选择区域核对版本、上传时间、文件大小并保存再回读当前绑定结果。四、模块范围决定商店设备范围真实entry/src/main/module.json5只声明deviceTypes: [ phone ]因此当前源码中的设备声明只有phone本轮没有登录 AGC不能确认平台当前选择。AGC 的支持设备、截图素材组、审核测试范围应与最终候选包回读结果对齐。不能因为页面看起来可以拉宽就直接勾选 tablet 或 2in1响应式布局能力不等于包元数据已经声明支持也不等于这些设备上的交互、状态栏、导航栏和安全区已经验证。若未来扩展设备类型应同时完成修改模块设备声明检查各页面自适应布局验证横竖屏和窗口缩放准备对应设备截图在真实设备或云测试中完成核心流程更新 AGC 支持设备与材料。五、安装方式与扩展能力也要对账模块配置还表明deliveryWithInstall: true, installationFree: false这说明 entry 随应用安装不是免安装形态。后台产品类型、介绍文案和审核备注都不应把它描述成元服务或免安装体验。同一模块包含三个重要能力入口EntryAbility应用主页入口exported: trueEntryBackupAbility备份扩展exported: falseCountdownFormAbility桌面卡片能力exported: true。发布复查不能只点开主页面。桌面卡片与备份扩展声明都会影响隐私说明、测试路径和异常恢复但当前备份回调只记录日志并返回本轮不能把业务数据备份恢复写成已实现或已验证。六、启动链路要从真实代码确认EntryAbility.ets在onCreate中初始化 DataStore、读取心情背景并触发 AppStore 的启动与水合窗口阶段加载windowStage.loadContent(pages/Index)随后设置全屏布局、安全区和系统栏主题。pages/Index.ets使用Navigation(this.pathStack) { MainTabShell() } .navDestination(appRouter) .mode(NavigationMode.Stack)这条链路给发布测试提供了明确的首屏契约安装 - 首次启动 - 本地初始化 - pages/Index - MainTabShell - Navigation 路由复查重点不是“能看到一个页面”而是同步初始化不能长时间阻塞首帧水合失败要有可恢复状态系统栏文字与背景要保持可读返回导航不能失效。七、页面清单与入口声明要一致main_pages.json当前只登记pages/Index。这与 Navigation 容器统一承载二级目的地的结构相符。发布前仍要确认冷启动始终能找到 Index路由表中的目的地都可达二级页面支持系统返回不存在只在调试入口可达的核心功能审核人员不需要隐藏手势或特殊数据才能体验主要能力。审核备注应给出最短可复现路线例如“启动后在首页创建纪念日再进入桌面卡片预览”而不是只写“功能丰富请自行体验”。八、商店描述必须能映射到源码能力工程资源中的商店标题为“时光清单 - 倒计时纪念日”副标题为“记录重要时刻遇见更好的自己”。描述覆盖倒计时、生日、恋爱天数、发薪日、主题、心情背景、日记、习惯、情侣、相册、桌面卡片和每日一句。复查方法不是判断文案是否好听而是给每个声明找到实际入口商店声明需要的可核验证据倒计时与纪念日创建、编辑、删除、排序和首页展示日记与心情本地保存、返回刷新、空状态习惯记录新建、打卡、统计与清除情侣空间真实可达页面及本地数据行为相册Photo Picker 选择、取消和读取失败路径桌面卡片三种卡片规格的添加、刷新和兜底每日一句数据来源、更新规则与断网行为尤其要避免“自动提醒”“云同步”“永久保存”“全设备同步”等源码无法直接证明的强承诺。若提醒依赖系统通知能力需单独核对权限、授权拒绝路径和触发条件若没有云端就不能把本地保存包装成云同步。九、离线声明要建立在多层证据上本次对源码、清单和依赖做了定向检索未发现ohos.permission.INTERNET NetworkKit http.createHttp fetch( Web( PushKit analytics AdsKit AccountKit requestPermissionsoh-package.json5也没有运行时三方依赖仅保留 Hypium 和 Hamock 开发依赖。这些事实支持“当前源码以本地能力为主、未见主动网络访问”的判断。但这还不是最终包的网络审计结论。正式发布仍需解析 release 候选包的权限与依赖断网启动并走完核心流程观察运行期是否出现域名访问或 SDK 初始化检查动态资源、Web 内容、统计和更新逻辑确认 AGC 隐私标签与实际行为一致。因此严谨表述应是“基于当前源码扫描未发现联网实现”而不是在没有包级与运行期证据时断言“绝对不会产生任何网络请求”。十、系统能力不等于网络服务本地应用仍可能调用系统能力。相册通过 Photo Picker 由系统提供选择界面桌面卡片通过 FormExtensionAbility 工作备份扩展通过系统备份机制工作。它们与自建服务器、账号体系或远程 API 不是同一概念但仍需在用户说明和隐私材料中准确交代。特别是backup_config.json当前允许备份恢复{ allowToBackupRestore: true }如果产品文案声称“数据只存在当前设备、绝不参与任何备份”就会与配置发生冲突。更准确的做法是说明应用不自建服务器上传数据同时按系统备份机制的真实行为描述可备份范围。十一、权限复查不能只看弹窗当前module.json5没有requestPermissions。这意味着AGC 权限说明不应罗列源码不存在的敏感权限隐私政策不应套用位置、通讯录、麦克风等模板条款相册选择应通过 Picker 而不是广泛存储权限若后续加入通知或其他权限需同步修改清单、运行时授权、拒绝路径和政策。还应检查最终包因为构建变体、依赖或其他模块可能引入源码人工浏览时遗漏的声明。源码、包、运行弹窗与 AGC 隐私标签四处必须一致。十二、图标一致性是当前最明确的发布风险AppScope 和 entry 都把图标资源命名为$media:layered_image但“资源名相同”不代表“渲染结果相同”。本次目视检查发现AppScope 背景是浅米色AppScope 前景是粉橙色山水亭台图案并带“时光清单”文字entry 背景是蓝色entry 前景是四个浅色圆角方块startIcon.png也呈现蓝底四宫格。也就是说商店/应用级资源与 EntryAbility/启动资源存在明显视觉分裂。用户可能在商店看到山水图标安装后却看到蓝色四宫格启动页又继续使用另一套视觉。这不是轻微像素差异而是需要在候选包构建前确认并统一的发布阻断项。处理时应明确唯一设计源再同步AppScope layered_image entry layered_image EntryAbility icon startIcon 应用内关于页图标 AGC 商店图标 宣传截图中的图标完成后检查透明通道、前景安全区、浅色/深色桌面、安装界面和启动窗口。最终判断以打包后的真实渲染为准。十三、文字直接放进图标要谨慎AppScope 前景图中包含“时光清单”四个汉字。小尺寸桌面图标经过裁切、缩放和分层蒙版后文字可能变得拥挤或难读。图标还需验证文字是否进入系统安全区圆角蒙版后是否裁断深浅色桌面是否仍有足够对比低分辨率显示是否糊成色块是否与商店名称产生重复视觉负担。这并不直接判定该设计不合格而是说明必须用最终包在实际显示表面检查不能只看 1024 像素原图。十四、截图必须来自同一候选版本当前设备范围只有 phone因此截图至少要满足来自最新候选包不含调试菜单、测试账号、个人隐私数据展示真实页面不用概念稿替代分辨率、比例和数量符合当前 AGC 要求文案与界面版本一致状态栏、导航栏和底部安全区完整深浅色行为与应用实际策略一致。建议覆盖首页、创建纪念日、记录详情、日记或习惯、桌面卡片预览等核心路径。若截图中出现尚未实现的按钮或云同步标志会直接制造审核与用户预期风险。十五、桌面卡片需要单独的发布证据form_config.json配置了 2×2、2×4、4×4 三种卡片规格colorMode为auto并设置定时更新时间。复查时应分别确认三种规格都能添加空数据时有合理兜底删除主记录后卡片不会显示幽灵数据系统深浅色切换后文字可读更新时间和商店描述一致主应用卸载后卡片正确移除。桌面卡片是公开能力不应只靠主应用启动成功来代替验证。十六、备份恢复需要验证边界与失败路径备份开启后至少检查哪些 Preferences 或文件进入备份数据模型升级后能否兼容旧备份损坏或缺字段数据如何处理恢复后首页、日记、习惯和卡片是否同步刷新用户清除数据后是否仍有意外残留隐私政策是否说明系统备份可能性。备份成功不是只看接口返回。恢复后的页面状态、计数、排序和卡片内容都必须重新读取验证。十七、release 包需要独立于 debug 验证调试预览正常不能替代 release 候选包。正式包可能在签名、混淆、资源裁剪、权限、调试开关和构建变量上与 debug 不同。最小验证链路应是clean release build - 记录包哈希 - 解析包名/版本/设备/权限 - 标准安装 - 首次启动 - 创建纪念日 - 编辑并返回 - 添加卡片 - 重启验证持久化 - 卸载如果任一步未执行就在记录中写“未执行”不要写“默认通过”。十八、Guideline 3.1 要落到可观察结果HarmonyOS 应用市场审核指南 3.1 关注兼容性和运行稳定性。对“时光清单”而言至少要覆盖冷启动无崩溃、白屏和长时间无响应首次没有数据时仍可操作日期边界、空标题和重复点击不会破坏状态页面返回后数据即时刷新系统深浅色和系统栏保持可读卡片无数据、数据损坏时不崩溃安装、更新安装和卸载均正常。测试结论应记录设备、系统版本、包哈希、步骤和结果。只写“已测试”无法复核。十九、Guideline 2.19 要检查行为而非口号审核指南 2.19 的核心是不能滥用系统、网络或设备机制干扰正常体验。当前源码未见隐藏网络、悬浮窗、无障碍控制、强制跳转或后台拉活等实现这是正向信号。正式复查仍要检查FormExtension 是否只在声明场景更新是否有不透明的后台任务是否存在未说明的跨应用调用日志是否泄露用户记录依赖是否包含动态加载或未披露行为权限申请是否由明确用户动作触发。“离线”不是豁免词。任何系统能力都应有明确场景、透明界面和可撤销结果。二十、深浅色与系统栏必须按候选包验证EntryAbility会根据配置更新系统栏主题卡片配置又使用colorMode: auto。因此发布截图和真机测试需要覆盖系统浅色模式启动系统深色模式启动前后台切换配置变化后的状态栏与导航栏首页、弹窗、底部栏和卡片的文本对比度。正文文字与背景建议达到 4.5:1对关键图标和按钮至少检查 3:1。低对比灰字、透明遮罩和粉色背景上的浅色文字都应重点抽查。二十一、AGC 表单只能复述已验证事实AGC 中常见字段可以按证据来源分组字段首要证据包名、版本、设备最终候选包解析结果应用名称、图标AppScope 与打包渲染功能描述、更新说明当前版本真实可达功能权限、隐私标签包权限、运行行为、存储与 SDK登录要求核心流程是否需要账号费用、广告、内购实际商业能力与 SDK国家和地区产品计划与合规范围内容分级实际内容和交互截图同一候选包真实界面字段没有证据就先留待确认不能为了让页面“看起来填满”而猜测。二十二、离线应用的 AGC 填写边界若最终包审计和断网测试继续确认无服务端依赖可按真实情况描述核心功能无需登录不使用自建服务器同步用户记录主要保存在本地不含广告、支付、订阅和社交 UGC使用系统 Photo Picker 选择内容可能使用系统备份恢复机制桌面卡片读取应用本地数据。不能写成“不会处理任何数据”因为倒计时、日记、习惯、相册引用和心情本身就是用户数据。离线只说明处理位置不等于没有数据处理。二十三、上传完成后仍需重新绑定候选包AGC 版本页可能保存多次上传记录。正确流程是上传候选包等待平台解析完成打开包选择区域按版本、时间、大小核对目标包选中目标包并保存离开页面后重新进入回读当前绑定包再继续材料和提交操作。只看到“上传成功”提示不能证明版本已绑定新包。自动化记录也必须区分uploaded与bound。二十四、发布状态名称必须准确建议统一状态词source reviewed release package built package locally verified package uploaded version bound materials saved submitted pre-reviewing under review rejected approved published其中任何一步都不能自动推导下一步。尤其不能把“草稿保存”“包上传”“预审中”写成“已上架”也不能在没有公开 URL 时向腾讯文档填写发布链接。二十五、当前工程的风险矩阵优先级风险本次真实线索发布动作阻断图标视觉不一致AppScope 山水文字图entry 蓝色四宫格统一资源并验证打包渲染高候选包过旧现有 HAP 时间早于本次复查重新构建 release 候选包高设备范围误选module 仅声明 phoneAGC 与截图保持 phone高离线描述过度源码未见网络但未做包与运行审计包解析、断网和流量复查中备份声明遗漏allowToBackupRestore 为 true核对备份范围与隐私文案中vendor 模板值AppScope 为 example发布前确认正式配置中卡片测试不足三种规格且自动适配颜色分规格、空态、深浅色验证这张表描述的是发布前风险不代表已经发生审核拒绝也不代表修复已经完成。二十六、可复用的发布证据模型可以把复查结果保存成结构化对象interface ReleaseReviewEvidence { bundleName: string versionName: string versionCode: number packageSha256: string packageBuiltAt: string deviceTypes: string[] permissions: string[] iconVariantMatched: boolean offlinePackageAuditPassed: boolean offlineRuntimeAuditPassed: boolean installLaunchSmokePassed: boolean agcPackageBound: boolean agcPackageReadBackPassed: boolean publicUrl?: string }布尔值只有在对应动作真实完成后才写true。没有公开 URL 时保持空值不生成占位链接。二十七、提交前最终检查清单[ ] 冻结源码版本和唯一候选包[ ] 从包内回读com.jiaweikan.one8[ ] 核对versionName与递增的versionCode[ ] 确认 AGC 当前 APP ID 对应正确应用[ ] 确认设备范围仅为 phone[ ] 统一 AppScope、entry、启动页和 AGC 图标[ ] 检查图标不依赖透明背景且小尺寸可读[ ] 截图全部来自同一候选包[ ] 功能描述逐项对应可达页面[ ] 解析最终包权限和运行依赖[ ] 断网完成核心流程并审计网络行为[ ] 隐私政策说明本地数据、Picker、卡片和系统备份[ ] 三种桌面卡片规格完成空态与深浅色验证[ ] release 包完成安装、启动、核心流、重启和卸载[ ] 上传后选择最新目标包并保存[ ] 重新进入 AGC 页面回读绑定结果[ ] 只有真实公开后才记录公开 URL。二十八、参考官方资料HarmonyOS 应用发布入口提交HarmonyOS应用与鸿蒙APP-华为开发者联盟HarmonyOS 应用测试入门HarmonyOS开发者测试服务入门-华为开发者联盟Stage 模型应用配置文件概述文档中心AppGallery Connect 云测试文档中心通用应用 UX 体验标准文档中心应用审核指南 3.1文档中心应用审核指南 2.19文档中心总结“时光清单”的发布复查不能停在“包名和版本看起来没错”。源码已经给出了可验证的身份com.jiaweikan.one8、1.0.0、1000000、phone、Stage 模型入口、桌面卡片和系统备份定向扫描也没有发现网络权限、HTTP、Web、广告、统计或账号依赖。但旧 HAP 不能代表当前源码离线结论还需要候选包与运行审计AGC 字段也必须保存后回读。更关键的是本次目视检查确认 AppScope 山水文字图标与 entry 蓝色四宫格图标明显不一致。它应在构建正式候选包前先统一然后再完成包解析、断网核心流、卡片测试、安装启动卸载以及 AGC 最新包绑定。发布质量来自这条证据链而不是来自一个“提交成功”的按钮提示。AI 辅助声明本文由 AI 辅助整理结构与配图包名、版本、设备声明、入口、卡片、备份配置、离线扫描边界、历史产物时间和图标差异均依据本地文件复核。release 构建、包解析、设备测试、AGC 绑定、审核与上架均未声称成功。
分享:

看完干货,该让你的企业上线了

免费需求沟通 · 48 小时内出具建站方案 · 河南本地可上门