uni-app HBuilderX开发的鸿蒙应用在模拟器中正常,提交审核时报错

发布于 1周前 作者 caililin 来自 Uni-App

uni-app HBuilderX开发的鸿蒙应用在模拟器中正常,提交审核时报错

操作步骤:

  • 打包提交审核

预期结果:

  • 能正常安装和使用

实际结果:

  • 不能安装

bug描述:

HBuilderX开发的鸿蒙应用在模拟器中正常,提交审核时报错:

  1. 您的应用被系统检测出问题,不符合华为应用市场《审核指南》第3.1项。

测试步骤:

  1. 兼容性:①启动应用失败,原因: Generated by HiviewDFX@OpenHarmony___at aboutToAppear (entry|entry|1.0.0|src/main/ets/pages/Page.ts:705:1)
  2. 稳定性:jscrash异常,原因:Error message:Cannot read property id of undefined Stacktrace:Cannot get SourceMap info, dump raw stack: at w1 (entry|entry|1.0.0|src/main/a/b/c/d.js:21517:1). at aboutToAppear (entry|entry|1.0.0|src/main/ets/pages/Page.ts:705:1)

测试环境:Wi-Fi联网、中文环境、Mate 60 Pro.Mate X5。

修改建议:请参考测试结果进行修改。

《审核指南》请参考:https://developer.huawei.com/consumer/cn/doc/app/50104-03

应用体验指南请参考:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/experience-suggestions-overview-V5


更多关于uni-app HBuilderX开发的鸿蒙应用在模拟器中正常,提交审核时报错的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html

2 回复

真机运行可以不?

更多关于uni-app HBuilderX开发的鸿蒙应用在模拟器中正常,提交审核时报错的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在处理uni-app通过HBuilderX开发的鸿蒙应用在模拟器中正常运行,但提交审核时报错的问题时,通常我们需要关注几个关键方面:代码兼容性、配置文件、鸿蒙API使用限制以及提交审核时的打包规范。以下是一些可能帮助你定位和解决问题的代码案例和检查点:

1. 检查manifest.json配置

确保你的manifest.json文件中针对鸿蒙平台的配置是正确的。特别是app-plus下的distribute部分,确保platform设置为harmony,并且其他相关配置如packageversionCodeversionName等符合鸿蒙商店的要求。

"app-plus": {
    "distribute": {
        "platforms": [
            {
                "platform": "harmony",
                // 其他配置...
            }
        ]
    }
}

2. 鸿蒙API兼容性检查

鸿蒙系统对某些API的使用可能有特定限制。检查你的代码中是否使用了不被支持的API或特性。例如,使用条件编译来区分鸿蒙和其他平台:

// #ifdef H5 || MP-WEIXIN || APP-PLUS-HARMONY
// 鸿蒙平台特定代码
console.log("Running on HarmonyOS");
// #endif

3. 资源文件检查

确保所有资源文件(如图片、音频等)都符合鸿蒙商店的上传规范,大小、格式无误。同时,检查pages.json中的页面路径和组件引用是否正确无误。

4. 日志与错误报告

仔细查看提交审核时的错误报告和日志,通常这些日志会提供具体的错误信息或警告,这是定位问题的关键。如果错误信息指向某个特定的文件或代码行,优先检查那里。

5. 打包与签名

确保使用HBuilderX正确打包应用,并使用了正确的签名证书。鸿蒙应用需要特定的签名方式,确保签名证书未过期,且签名信息与应用包中的信息一致。

// 假设在HBuilderX中通过命令行打包
hbuildx pack -p harmony -o outputDir --signPath path/to/signCert

6. 模拟器与真机差异

有时模拟器与真机之间会存在细微差异,特别是涉及到底层系统API调用时。如果可能,尝试在真机上进行测试,看是否能复现问题。

通过上述步骤,你应该能够更准确地定位问题所在。如果问题依旧存在,考虑查阅最新的鸿蒙开发文档或联系华为开发者支持获取更专业的帮助。

回到顶部