ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

【天体运行模拟|20】HarmonyOS ArkTS AppGallery 发布复查实战:核对包名、版本、设备、素材和离线声明

2026/9/1 20:35:39 拓冰建站 浏览量
【天体运行模拟|20】HarmonyOS ArkTS AppGallery 发布复查实战:核对包名、版本、设备、素材和离线声明 【天体运行模拟20】HarmonyOS ArkTS AppGallery 发布复查实战核对包名、版本、设备、素材和离线声明AppGallery 发布最危险的错觉是“新包已经上传所以新版本已经准备好了。”实际上源码中的 Bundle Name、release 包的签名身份、AGC 版本页绑定的包、设备范围、截图、隐私声明和更新说明可能分别指向不同状态。上传只是传输动作只有身份、行为和材料形成同一条证据链才算真正可提交。“天体运行模拟”的真实工程把 Bundle Name 定义为com.jiaweikan.one13版本为1.0.0、versionCode 1000000模块支持 phone、tablet、2in1入口为 Stage 模型EntryAbility应用固定亮色模式不声明敏感权限主页面和二级页面均列入main_pages.json。这些源码事实能为 AGC 表单提供基线但不能替代 release 包解析、真实设备冒烟和 AGC 保存后回读。本文面向 HarmonyOS 5.0 及以上版本以一次发布候选版本为单位讲清如何复查包名、版本、设备、图标、截图、离线声明、隐私材料、签名和最终包绑定。文中不会展示任何证书密码、密钥或账号信息。项目基线应用版本1.0.0Bundle Name 为com.jiaweikan.one13targetSdkVersion 6.0.2(22)compatibleSdkVersion 6.0.1(21)。本轮只完成源码静态复核未据此推断新的构建、上传、提交或审核结果。一、发布复查从冻结候选版本开始先确定唯一候选source commit versionName versionCode bundleName build mode package path package size package hash build timestamp后续截图、测试报告、隐私清单和 AGC 操作都引用这组身份。若代码又发生变化应重新构建并生成新的候选记录不能沿用旧包测试证据。二、AppScope 是应用身份真源真实AppScope/app.json5{ app: { bundleName: com.jiaweikan.one13, vendor: jiaweikan, versionCode: 1000000, versionName: 1.0.0, icon: $media:layered_image, label: $string:app_name } }复查时不要只看 AGC 页面标题。需要从源码、构建产物和 AGC 应用身份三处核对 Bundle Name并确认没有把另一个应用的 Profile 或包上传到当前 APP ID。三、versionName 与 versionCode 解决不同问题versionName面向用户显示versionCode用于版本递增和平台判断。常见错误只改versionNameversionCode未递增调试包和 release 包版本相同但内容不同更新说明写了新功能包内仍是旧版本AGC 版本页选择了较早上传的同名包应用内 About 页仍显示旧版本。版本复查必须解析最终包而不是只看源码文件。四、SDK 基线也属于包身份构建配置显示{ targetSdkVersion: 6.0.2(22), compatibleSdkVersion: 6.0.1(21), runtimeOS: HarmonyOS }文章面向 HarmonyOS 5.0 及以上版本但真正的安装范围由候选包元数据、设备系统和 AGC 配置共同决定。升级 SDK 前要重新检查 API 行为、权限、系统栏、资源限定目录和兼容性测试。五、设备范围必须三处一致module.json5当前声明deviceTypes: [ phone, tablet, 2in1 ]这意味着至少核对包内支持设备类型AGC 应用信息选择的设备每类设备对应素材与运行测试。AGC 多选一个设备不是免费的流量扩展而是新增一组布局、输入方式、截图和兼容性责任。六、设备支持要由真实实现证明源码有一些多设备基础页面根容器使用百分比宽高首页与知识页读取实际宽度改变 Grid长页面使用 Scroll 或 ListTab 文本设置单行溢出系统栏由 EntryAbility 统一配置。但 PC/2in1 支持还要验证鼠标、触控板、键盘焦点和自由窗口tablet 要验证分屏、横竖屏和大字体。deviceTypes存在不能证明体验合格。七、EntryAbility 决定首屏系统行为真实入口在onCreate中固定亮色this.context .getApplicationContext() .setColorMode( ConfigurationConstant.ColorMode.COLOR_MODE_LIGHT )窗口创建后设置非全屏布局和浅色系统栏再加载pages/Index。发布材料必须与这个实际主题一致不能上传深色截图并声称应用跟随系统暗色。八、首屏加载失败必须有证据入口调用windowStage.loadContent( pages/Index, (err) { if (err.code) { hilog.error( DOMAIN, One9App, 加载页面内容失败 ) return } } )复查冷启动时应过滤 Bundle Name 和入口日志确认没有页面加载失败、DataStore 初始化异常或白屏。错误日志存在不代表审核一定失败但必须先定位并证明核心流程正常。九、路由清单与实际入口对齐main_pages.json列出首页、模拟页、结果页、场景选择、记录、知识、工具、收藏、设置、笔记、关于、帮助、隐私政策和用户协议等页面。发布前做路由遍历每个可见入口能打开对应页面系统返回和页面返回一致缺少参数时不白屏隐私政策与协议无需登录没有孤立页面或指向不存在路径从二级页返回后 Tab 和数据状态正确。页面在清单中只证明可加载不证明入口可达。十、离线声明必须由包和运行共同证明隐私政策和 About 页都将应用描述为完全离线module.json5没有声明ohos.permission.INTERNET源码扫描也未发现 HTTP、Web、统计、广告或推送调用。这些事实方向一致。但正式复查还应检查完整依赖树和原生库release 构建中的域名字符串SDK 初始化后台任务和推送配置实机运行时网络行为崩溃和性能采集组件。只有源码、依赖和运行证据都一致才能在 AGC 选择本地/离线相关表述。十一、本地数据声明必须覆盖所有功能当前真实本地数据包括收藏实验 ID实验记录观察笔记模拟次数学习时长设置和轻量统计快照缓存目录中的会话日志。政策已说明收藏、笔记、记录和设置保存在 Preferences。入口还会在缓存目录追加不含用户正文的会话启动日志。发布复查应确认政策或数据清单是否需要覆盖这类运行日志以及清缓存路径是否能删除它。十二、会话日志不能包含敏感内容真实入口只记录时间、版本和 Abilityconst line [ ts ] session_start version1.0.0 abilityEntryAbility\n这比记录笔记正文或完整路由参数风险低。release 前仍要验证日志不会无界增长清缓存可删除不写入设备标识和私人内容日志不会自动上传版本号更新时同步。十三、权限复查解析最终包当前模块没有requestPermissions。最终包解析也应得到相同结论。若包内出现源码没有的权限可能来自其他模块、依赖或构建配置必须追踪来源。权限表至少包含permission name source module or SDK user-facing feature request timing denial behavior privacy policy section AGC disclosure没有真实功能映射的权限应删除而不是补一段模糊说明掩盖。十四、图标要核对四个表面应用级和 Ability 级都引用$media:layered_image启动图标同样引用它。图标复查覆盖AppScope 应用图标EntryAbility 桌面图标启动窗口图标AGC 应用信息图标。四者应来自同一视觉设计。项目中的候选方形图为1024×1024抽查 alpha 通道最小值和最大值均为 255说明该文件本身完全不透明但最终 launcher 使用的是分层图需要继续检查 foreground/background 组合渲染而不能只看候选 PNG。十五、透明背景是发布风险图标在设计工具里看起来正常放到浅色、深色、桌面圆角容器、安装界面和 AppGallery 列表中可能出现透明边、白边或品牌识别下降。自动检查interface IconAudit { width: number height: number alphaMin: number alphaMax: number source: string }人工检查则看缩小后的识别度、边缘、背景、图形安全区和是否像系统或其他品牌图标。十六、截图必须来自候选包截图不能来自旧包、设计稿或调试页面。每组截图记录candidate package hash device class system version window size route data fixture capture time天体运行模拟适合展示首页 Hero、关卡列表、真实模拟 Canvas、结果分析、知识页和本地记录。截图应体现真实功能不应覆盖与应用无关的营销文字。十七、不同设备素材不能简单拉伸phone、tablet、2in1 的截图应来自对应布局。把手机截图横向拉伸成平板图会造成文字比例、系统栏和组件位置失真。每类素材检查尺寸和文件格式符合当前 AGC 要求无调试悬浮窗和个人信息状态栏时间、电量等内容合理页面无截断、重叠和空白Canvas 非空且关键天体可见图片与实际支持主题一致。十八、应用描述只能写已实现能力根据真实源码可以描述离线天体系统构建与模拟多种实验场景参数调节、轨迹和引力范围结果分析本地收藏、记录和观察笔记天体知识内容与辅助工具phone、tablet、2in1 目标布局。不能声称云同步、实时天文数据、AI 分析、多人协作、AR 观测或账号服务因为源码没有这些能力。十九、更新说明要对应版本差异版本1.0.0是当前源码身份。未来更新时更新说明应来自两个候选版本之间的真实差异并让审核人员可操作验证。不推荐优化体验修复已知问题更可验证修复快速查看结果可能重复生成记录的问题 优化 2in1 窗口缩放时知识卡片列数切换 补充清除本地数据后的页面即时刷新。前提是这些修复确实进入候选包。二十、隐私政策、协议和 About 三方一致应用内有隐私政策、用户协议和 About 页面。复查内容应用名一致版本信息一致离线和权限描述一致数据类型与删除方式一致联系方式真实可用未成年人描述不夸大政策日期真实AGC 隐私链接或托管文本与包内版本一致。不能只更新网页政策而让包内文本停留在旧版。二十一、签名配置只验证身份不暴露秘密工程配置包含 release 签名材料引用。发布复查只记录certificate fingerprint profile application identity profile device/distribution scope signature algorithm expiration time package verification result证书密码、密钥库密码和私钥绝不能写入文章、日志、截图或队列。若秘密直接出现在可提交的项目配置中应迁移到受控的本机或 CI 密钥管理并避免进入版本库本文不展示任何实际值。二十二、签名包与 AGC 应用绑定包名正确但签名身份错误仍可能无法更新已上架应用。需要验证Profile 对应当前应用证书有效且与历史版本更新关系正确release 构建使用预期签名配置包签名校验通过上传后 AGC 识别 Bundle Name 和版本没有误选 debug 包或其他应用包。签名验证通过只证明完整性和身份不证明功能与材料合规。二十三、构建成功不是发布成功建议执行仓库记录的 release 构建命令并保存完整结果摘要。构建后解析包bundleName com.jiaweikan.one13 versionName 1.0.0 versionCode 1000000 deviceTypes phone, tablet, 2in1 permissions expected set buildMode release signature valid本文没有在写作过程中声称重新构建候选包因此这些字段是复查模板实际状态必须来自执行结果。二十四、安装启动核心流程卸载App Review Guideline 3.1 关注兼容性和运行稳定性。release 候选至少执行一次标准安装冷启动切换四个 Tab打开实验并启动模拟调整参数查看结果收藏并返回复核打开隐私政策清除本地数据重启复核标准卸载。记录崩溃、白屏、卡死、无响应、路由失败和清除失败。二十五、离线场景也要做断网测试既然声明完全离线设备关闭网络后核心流程应无差异启动不等待网络首页和知识内容可用模拟、结果和收藏可用隐私政策与协议可打开不出现网络错误 Toast无后台重试导致耗电清除数据正常。这条测试能直接支撑离线声明而不是只靠 Manifest 推断。二十六、多设备 release 冒烟设备必测phone竖屏、横屏、底部安全区tablet竖横屏、分屏、卡片列数2in1窄窗、宽窗、鼠标、键盘同一个.app或目标分发包在各类设备的安装范围应与 AGC 设备选择一致。某类设备没测到应明确风险不要在表单中假装已完成。二十七、AGC 上传后必须重新选择包发布流程中上传完成并不保证版本页已经绑定最新包。正确步骤上传候选包返回版本页面打开包选择按版本、上传时间和大小识别候选选择并保存回读页面确认绑定状态再核对设备、国家地区和隐私字段。如果版本页已有 URL 或包 ID应先检查避免重复上传或误覆盖。二十八、保存后回读每个关键字段浏览器显示“保存成功”只是动作结果。需要回读版本名和版本号已绑定包支持设备图标和截图预览应用名称、分类和描述更新说明隐私政策和隐私标签国家地区内容分级付费、登录和联网情况。页面跳转前保存跳转后再回读避免隐藏上传节点成功但表单未提交。二十九、提交前的停止边界自动化遇到以下情况必须停止并交给用户登录失效验证码、短信码或扫码账号或设备安全验证法律条款或活动确认付费确认最终不可逆提交确认权限不足或浏览器配置锁。不能绕过验证也不能把 Cookie、Token、证书密码或身份信息输出到日志。三十、发布状态要准确命名区分local code fixed release package built package uploaded version bound to package submitted pre-reviewing under review rejected approved published上传成功不能写成已发布进入预审不能写成审核通过。队列和腾讯文档只记录真实公开链接与可验证状态。三十一、发布复查证据表interface ReleaseEvidence { bundleName: string versionName: string versionCode: number packageHash: string deviceTypes: string[] permissionCount: number iconOpaque: boolean smokePassed: boolean agcPackageBound: boolean publicUrl?: string }字段没有证据时留空或标记未执行不用推测值填满表格。三十二、当前工程的重点风险风险真实线索复查动作主题表述不一致入口固定亮色截图与描述保持亮色三类设备证据不足module 声明三类设备分设备冒烟与素材图标来源混淆layered_image 与候选 PNG 并存核对最终渲染和 AGC会话日志遗漏cache 中写启动日志检查增长、清除与政策签名秘密管理配置包含敏感字段迁移到安全配置不外泄上传后误绑旧包AGC 包列表可能多条保存并回读当前绑定离线声明只看源码依赖可能带网络行为断网与运行流量审计这是发布前风险清单不代表已经发生审核失败。三十三、提交前检查清单[ ] 冻结唯一源码提交和候选包[ ] 包名三处一致[ ] 版本名、版本号递增并与 About 一致[ ] target/compatible SDK 与测试范围一致[ ] phone、tablet、2in1 包、AGC、素材一致[ ] 最终包权限与离线声明一致[ ] 依赖无未披露统计、广告、推送和网络 SDK[ ] 分层图标与 AGC 图标一致且无透明风险[ ] 截图来自候选包和对应设备[ ] 描述与更新说明不超出源码能力[ ] 隐私政策、协议、About、AGC 字段一致[ ] 签名校验通过且秘密未进入日志或文档[ ] release 包完成安装、启动、核心流程和卸载[ ] AGC 版本页绑定并回读确认最新候选包[ ] 提交状态使用准确名称。总结AppGallery 发布复查的核心不是多填一张表而是建立四层证据源码定义 Bundle Name、版本和设备release 包证明签名、权限与实际元数据设备冒烟证明安装、启动和核心行为AGC 只复述这些已经验证的事实。“天体运行模拟”的当前源码身份清晰com.jiaweikan.one13、版本1.0.0、支持 phone/tablet/2in1、固定亮色、无敏感权限并以本地数据为主。真正提交前仍需解析候选包、检查分层图标、审计依赖、执行分设备断网冒烟、保护签名秘密并在 AGC 上传后重新选择和回读正确包。只有这些步骤闭环才能把“代码完成”推进到“可复核发布”。本文唯一标记CSDN-SERIES:ALL-163201615AI 辅助声明本文部分内容由 AI 辅助整理源码事实与风险边界依据文中所列项目文件复核未实际执行的构建、设备测试和 AGC 操作不声明成功。