ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

【万能转换器|20】HarmonyOS ArkTS AppGallery 发布复查实战:核对包名、版本、设备、素材和离线声明

【万能转换器|20】HarmonyOS ArkTS AppGallery 发布复查实战:核对包名、版本、设备、素材和离线声明 【万能转换器20】HarmonyOS ArkTS AppGallery 发布复查实战核对包名、版本、设备、素材和离线声明本轮证据边界包名、版本、设备类型、权限列表和离线实现来自本轮复核的本地源码原文中的构建、安装或历史检查记录只作为历史证据本轮没有重新执行构建、安装、AGC 上传、软件包绑定或审核提交。发布流程与候选包检查属于建议实现不能据此推断平台审核状态。当前阻断项BRAND_FEEDBACK_EMAIL与BRAND_COPYRIGHT_OWNER仍为占位值。账号所有者必须在候选包产生前替换为真实且合规的信息本文不会展示、收集或保存对应私密身份数据。HarmonyOS 应用进入 AppGallery Connect 之前最危险的错误往往不是 ArkTS 编译错误而是多个“看起来都正确”的信息没有指向同一个版本源码里叫“万能转换器”说明文档写成“万能转换器 Pro”工程版本是1.0.0后台却绑定了另一份同版本软件包模块只声明phone素材却按平板一起提交页面宣称完全离线备份配置却允许系统备份恢复图标尺寸正确但背景层仍带透明像素。任何一项单独看都不复杂组合起来却会让审核人员无法判断“这是不是同一个应用”。本文基于“万能转换器”的真实 HarmonyOS 工程做一次发布前复查。源码可确认bundleName为com.hmapp.universalconverterversionCode为1000000versionName为1.0.0入口模块仅声明phonerequestPermissions为空生产依赖为空应用、Ability 和品牌常量使用“万能转换器”单位换算、汇率、历史、收藏和设置都在本地完成。与此同时源码也暴露出四个必须在候选包产生前处理的风险README 名称仍为“万能转换器 Pro”反馈邮箱与版权主体仍是占位值备份配置与“数据只保存在当前设备”的强声明存在语义差异分层图标背景包含透明像素。本文面向 HarmonyOS 5.0 及以上版本讨论的是“源码快照如何形成可复核的上架证据链”不会把队列中的“1.0.0 已上架”元数据当成当前源码包已经上传、绑定、提交或审核通过的证据。本次也没有登录 AGC、没有修改后台、没有构建或安装候选包因此不会虚构发布结果、审核状态或真机稳定性结论。唯一标记AGC18-HMOS-18-20-APPGALLERY-RELEASE-REVIEW-PACKAGE-MATERIALS一、先划清六个发布状态“源码里是 1.0.0”只能证明源码配置不代表平台上的 1.0.0 就是它。一次可靠发布至少要区分六个对象对象能证明什么不能证明什么源码快照配置、功能和资源的当前状态已构建、已测试构建产物某次构建生成了 APP/HAP已安装、可启动候选包被选定用于发布的签名产物已上传 AGC已上传包AGC 接收到一个软件包版本页已绑定该包已绑定版本版本页选择并保存了目标包已提交审核审核/上架状态平台真实流程结果当前仓库与线上包一致因此发布复查不能只看app.json5也不能只看 AGC 页面。正确做法是给源码、候选包和后台版本建立同一条身份链并把每一步的证据保留下来。队列中的appId6917604619777068417和“1.0.0 已上架”可以作为待核对目标但在没有回读公开页和后台绑定记录之前不应写成本文的实测结论。二、身份矩阵从 AppScope 开始AppScope/app.json5是当前源码的产品级身份入口真实配置如下{ app: { bundleName: com.hmapp.universalconverter, vendor: hmapp, versionCode: 1000000, versionName: 1.0.0, icon: $media:layered_image, label: $string:app_name } }复查时应把bundleName、versionCode、versionName、图标资源和名称资源抄入身份矩阵而不是靠记忆在 AGC 中填写。尤其要注意versionName是展示版本versionCode是递增标识只改展示名称而沿用已经分发过的版本代码通常不能形成一个新的升级版本。建议在发布单中固定以下字段bundleName com.hmapp.universalconverter versionName 1.0.0 versionCode 1000000 module entry ability EntryAbility deviceTypes phone这些值随后还要与候选包解析结果、AGC 应用条目、版本页和公开页逐项比对。三、应用名称出现了真实漂移工程资源EntryAbility_label的值是“万能转换器”BrandConfig.ets中的BRAND_APP_NAME也是“万能转换器”队列标题同样使用这个名称。但 README 开头仍写“万能转换器 Pro”。这不是文案偏好问题而是发布身份漂移。审核人员会从桌面名称、启动页、应用内“关于”、隐私政策、软件介绍、截图和版权材料识别应用。若“Pro”只存在于文档或后台而包内没有该名称用户会怀疑下载了错误版本若“Pro”暗示收费、高级功能或差异化权益风险更高。发布前应确定唯一正式名称然后同步AppScope的app_name资源EntryAbility_label与桌面展示BrandConfig.ets和“关于”页面README、隐私政策、用户协议AGC 中文名称、简介、截图和版权材料。本文以源码多数证据支持的“万能转换器”为准并把 README 的“Pro”列为待修复项不替开发者猜测品牌决策。四、模块能力决定设备范围entry/src/main/module.json5中的关键字段为{ module: { name: entry, type: entry, mainElement: EntryAbility, deviceTypes: [phone], deliveryWithInstall: true, installationFree: false, requestPermissions: [] } }这里给出三个明确结论。第一当前包只声明手机不应仅凭页面看起来能拉伸就在 AGC 中勾选平板或 2in1。第二它是随安装交付的普通应用模块不是免安装元服务。第三没有申请权限和离线工具定位基本一致。设备类型不是营销范围而是实现、软件包声明、截图素材和测试证据的交集。如果未来希望支持折叠屏、平板或电脑需要先修改工程能力与自适应布局再完成对应设备的窗口变化、横竖屏、系统栏、键鼠输入和素材验证最后才扩大平台设备范围。五、包名不能只在后台“看起来一样”包名com.hmapp.universalconverter是应用升级关系、签名与平台条目的关键标识。复查应包含三次读取从当前源码的AppScope/app.json5读取从最终候选 APP 包的解析信息读取从 AGC 目标应用和版本页回读。任何一次不一致都应停止发布。不能因为应用名称相同就把候选包绑定到另一个应用条目也不能通过复制工程后只改名称、不改包名来建立新应用。本文只完成了第一层源码读取没有读取最终签名包和 AGC 页面因此结论是“源码目标包名明确”而不是“后台绑定已经正确”。六、版本号还要和应用内展示对齐当前AppScope的版本为1.0.0 / 1000000BrandConfig.ets的BRAND_VERSION_NAME也是1.0.0应用内“关于”页面会显示这个常量。两处暂时一致但这套设计仍有维护风险版本号被复制到了两个文件下一次升级可能只改其中一处。更稳妥的工程方案是让应用内版本显示读取包信息或在构建阶段由单一版本源生成品牌常量。若暂时不改架构发布检查单至少要把以下断言自动化AppScope.versionName BrandConfig.BRAND_VERSION_NAME candidate.versionName AppScope.versionName candidate.versionCode AppScope.versionCode AGC.boundPackageHash candidatePackageHash最后一条最重要。同一个版本名可能被多次上传后台列表中往往同时存在旧包和新包。必须按上传时间、文件大小、版本代码及可用的哈希证据选中最新目标包并保存版本页后再回读。七、图标尺寸正确不等于图标合规当前分层图标由layered_image.json组合{ layered-image: { background: $media:background, foreground: $media:foreground } }四个相关 PNG 都是1024×1024尺寸符合当前 HarmonyOS 分层应用图标的基本要求。但像素复查发现文件Alpha 范围非完全不透明像素判断background.png642552047背景层不合规风险foreground.png0255926642前景透明属于正常设计能力app_icon.png642552047单层导出仍有透明边缘startIcon.png642552047启动图标需复查华为最新图标文档明确要求分层图标的背景层为纯色且不能包含透明像素前景层则通常需要透明 PNG。这里的问题不在前景而在background.png的 2047 个半透明像素。很可能是设计导出时保留了边缘抗锯齿或圆角透明边这与“无需自行裁圆角由系统生成遮罩”的规则冲突。发布前应重新导出完全不透明的正方形背景层并重新生成单层展示素材。不要只在图片查看器里肉眼认为“看不出透明”应直接检查 Alpha 极值是否为255255。八、包内图标和 AGC 图标必须一致图标有两个表面软件包内资源以及 AGC 应用信息中上传的展示素材。即使包内图标修复了透明背景如果后台仍沿用旧图也会形成不一致反过来只换后台图标而不更新包内桌面图标同样可能被审核或用户识别为两个产品。复查方法不是比较文件名而是比较视觉内容和源文件版本用修复后的background.png foreground.png生成候选图标从最终软件包导出平台实际使用的图标生成 AGC 要求尺寸的上传素材在浅色、深色、桌面、设置列表、安装页和启动页检查截图保存包内展示与 AGC 预览确认无自行圆角、透明底、模糊拉伸和系统图标仿冒。当前源码只能证明资源存在不能证明 AGC 已上传同一图标也不能证明设备实际展示正常。九、启动页也属于品牌一致性EntryAbility配置使用startIcon和start_window_background。启动页发生在 ArkUI 首帧之前审核人员和用户会先看到它。若启动页图标与桌面图标不同、背景对比不足或存在透明边缘应用内部再精致也无法弥补第一印象。当前startIcon.png与app_icon.png都是 1024×1024且检测到相同数量的半透明像素。这提示它们很可能来自同一导出源。修复时应从统一设计母版重新生成而不是分别手工填边否则会出现轮廓、缩放或色彩偏差。还要在真机冷启动、后台无快照返回和进程销毁后的退出动效中验证启动页而不是只看资源文件。十、素材范围必须服从 phone 声明因为当前deviceTypes只有phone发布素材应围绕手机真实界面准备。至少覆盖首页或工具入口单位转换核心流程实用计算器历史记录或收藏设置、隐私政策或关于页面。截图应来自候选包或与候选包完全一致的真实界面不应使用无法在应用中到达的概念图。汇率换算必须避免“实时汇率”“在线更新”等字样因为源码使用内置静态参考汇率。历史最多 200 条、税费采用特定年度表、生肖按公历年计算等边界也不应在宣传文案中被包装成无限、实时或权威结果。如果 AGC 只选择手机就不要提交平板拉伸图来暗示多设备支持如果以后扩设备应为每个素材组补齐真实截图。十一、离线声明有四层证据“完全离线”不能只靠一句宣传语。当前工程提供了较完整的四层证据层级当前证据结论权限requestPermissions: []未申请网络或敏感权限依赖oh-package.json5无生产依赖未发现运行时第三方 SDK代码搜索未发现网络请求 API当前业务没有主动联网路径文案隐私政策说明静态汇率、本地处理用户可理解离线边界这四层彼此吻合说明“离线单位换算与实用计算工具”是有源码支撑的定位。发布信息可以写“不申请网络权限核心换算与计算在本地完成”但不应扩大为“绝不产生任何系统级数据流动”因为系统备份配置仍需单独说明。十二、静态汇率要避免实时暗示ExchangeForm.ets明确使用CalcEngine.CURRENCIES内置静态汇率表不发起网络请求。README 还说明这是约 2024 年参考汇率。因此正确的商店表述应是“支持离线汇率参考换算”或“使用内置参考汇率”并在页面中给出非实时、仅供参考的提示。以下表述不应出现实时汇率 每日自动更新 连接全球金融市场 提供交易级准确结果这既是功能真实性问题也是离线声明的一致性问题。若未来接入在线汇率需要重新检查网络权限、域名、隐私政策、数据处理、错误态、缓存策略和 AGC 隐私标签不能只换一个接口。十三、系统备份让“仅本机”需要更准确backup_config.json的真实配置是{ allowToBackupRestore: true }模块还注册了EntryBackupAbility虽然当前回调只记录日志没有自定义上传逻辑但“允许系统备份恢复”与“数据只保存在当前设备、绝不会迁移”的绝对表述并不完全等价。Preferences 中的历史、收藏和设置是否进入系统备份范围需要结合系统默认行为、备份配置和目标版本实测确认。发布前有两条可选路径产品确实允许系统备份恢复在隐私说明中准确披露系统能力及数据范围产品坚持严格本机不迁移关闭不需要的备份能力并验证升级和恢复行为。不能一边保留allowToBackupRestore: true一边在平台和应用内作无法兑现的绝对承诺。十四、占位联系方式是明确阻断项BrandConfig.ets目前仍包含export const BRAND_FEEDBACK_EMAIL your-real-emailexample.com; export const BRAND_COPYRIGHT_OWNER 开发者名称;应用内“反馈与建议”、用户协议、隐私政策和“关于”页面都会使用这些值。EntryAbility虽然能检测占位符并输出警告但不会阻止构建因此一个可编译的包仍可能把示例邮箱和“开发者名称”带进商店。这两项必须在候选包构建前替换为真实、可联系且与开发者主体一致的信息并进入自动门禁if (email.includes(example.com) || owner 开发者名称) { throw new Error(Release identity placeholders remain); }这不是为了追求代码洁癖而是为了让隐私主体、版权材料、AGC 开发者信息和应用内文本能够互相验证。十五、生产依赖为空仍要检查最终包oh-package.json5只有ohos/hypium与ohos/hamock两个开发依赖没有生产依赖。这支持“无第三方运行时 SDK”的判断但发布复查不能到此为止。最终包还可能包含本地 HAR、系统能力引用、资源或构建脚本注入内容。因此应对候选包做成分和权限解析并与源码清单比较。若 AGC 隐私标签填写“未集成第三方 SDK”证据应来自最终包扫描而不只是根目录配置。本文没有解析最终候选包所以只表述为“当前包管理配置未声明生产依赖”不把它写成已通过平台 SDK 检测。十六、审核指南 3.1 需要真实生命周期证据源码配置正确不能替代运行稳定性。发布候选包至少应完成一次标准闭环安装候选 APP冷启动并进入首页完成单位转换完成一个计算器流程添加历史与收藏切换设置并重启验证恢复打开隐私政策和关于页面切后台、恢复、返回和退出卸载应用。还要观察崩溃、闪退、白屏、冻结、无响应、路由失效、按钮重复触发和系统栏可读性。README 当前把单元测试和真机验证标为未完成因此本文不能声称 Guideline 3.1 已通过只能把它列为发布门禁。十七、审核指南 2.19 也要做负向确认当前工程无网络权限、无广告、无推送、无账号、无支付代码形态较简单未发现需要后台常驻、悬浮窗、自动启动或干预其他应用的业务理由。这降低了恶意行为审查风险但仍应在最终包中确认没有隐藏入口或动态加载绕过没有未经用户触发的后台任务没有干预其他应用或系统功能没有使用未公开接口或漏洞式方案没有与功能无关的权限和 SDK。“功能简单”不是免检理由。发布复查需要保存最终包扫描结果并让所有系统能力都能对应到可见、可逆、用户主动触发的场景。十八、建立可执行的发布清单把本文发现转成门禁后建议使用如下清单门禁当前状态发布要求包名源码为com.hmapp.universalconverter与候选包、AGC 一致版本源码为1.0.0/1000000与包内、版本页一致名称源码“万能转换器”README 含 Pro统一后再构建设备仅phoneAGC 与素材仅选手机权限空数组最终包复核仍为空依赖无生产依赖最终包扫描确认图标1024 方图背景有透明像素背景 Alpha 全 255联系方式示例邮箱替换真实值版权主体占位值与开发者资质一致离线声明基本一致补充静态汇率与备份边界测试源码有用例未见本次报告执行并保存报告真机冒烟README 未勾选完成安装到卸载闭环清单中的“当前状态”只描述本文实际读取的证据。每项完成后还要附文件、截图、报告或包哈希避免口头勾选。十九、AGC 操作必须保存后回读进入 AGC 后应先核对目标 App ID、包名和开发者主体再编辑应用信息。上传新包后不能停在“上传成功”必须回到版本页打开包选择器按版本代码、上传时间和大小选择目标包保存再重新进入页面确认绑定结果。同样图标、截图、隐私、国家地区、内容分级、版权信息和设备类型每次修改后都要看可见预览或保存状态。遇到短信、验证码、扫码、安全验证、法律确认或最终不可逆提交应停止自动化并由账号持有人处理。本文没有进行这些后台操作因此没有 AGC 截图、版本绑定或公开 URL也没有把任何字段写成“已验证”。二十、结论先让每一份证据指向同一个包“万能转换器”的发布基础相当清晰包名与版本明确当前只支持手机权限数组为空运行时依赖为空核心换算与计算具备离线实现应用内也提供了隐私与关于入口。真正需要优先处理的不是再写一段宣传文案而是修复四个可复核风险统一“万能转换器”和“万能转换器 Pro”的名称把分层图标背景改为完全不透明并同步包内与 AGC 素材替换反馈邮箱和版权主体占位符明确系统备份恢复与“本地保存”声明的边界。随后再生成唯一候选包执行测试和安装启动核心流程卸载闭环解析包内身份上传并绑定到正确 AGC 版本最后回读公开页面。只要任一步缺少证据就停留在对应状态不把“已构建”写成“已上架”也不把历史队列元数据写成当前源码的审核结果。官方资料可参考华为开发者的 提交 HarmonyOS 应用、应用图标配置与开发、应用图标设计规范、AppGallery Connect 概览、应用市场审核政策、审核指南 3.1 兼容性与运行稳定性 与 审核指南 2.19 恶意行为。平台规范会更新具体字段、素材和流程应以提交当日官方文档与 AGC 页面为准。AI 辅助声明本文在人工核对真实 HarmonyOS 工程配置、页面文案与本地实现后使用 AI 辅助整理结构、润色表达并生成配图工程能力、发布阻断项与验证边界均以文中列出的源码证据为准。CSDN-SERIES:ALL-163250315
返回列表