HarmonyOS鸿蒙Next中【上架检测FAQ】卡片isdefault字段不可缺省

HarmonyOS鸿蒙Next中【上架检测FAQ】卡片isdefault字段不可缺省

概述

卡片的配置文件中isDefault字段用于标识该卡片是否为默认卡片,每个应用/元服务最多有一个默认卡片。

设计原则

1、检查所有form_config.json文件中isDefault字段标记值不为空。

2、检查所有form_config.json文件中isDefault字段标记值,整个应用包内,每个设备类型对应isDefault最多有一个为“true”。

典型案例

常见问题一:您的卡片存在isdefault字段为空问题,不符合规范。

{
  "forms": [
    {
      "name": "widget",
      "displayName": "$string:widget_display_name",
      "description": "$string:widget_desc",
      "src": "./ets/widget/pages/WidgetCard.ets",
      "uiSyntax": "arkts",
      "window": {
        "designWidth": 720,
        "autoDesignWidth": true
      },
      "renderingMode": "fullColor",
      "isDefault": ,
      "updateEnabled": true,
      "scheduledUpdateTime": "10:30",
      "updateDuration": 1,
      "defaultDimension": "2*2",
      "supportDimensions": [
        "2*2"
      ],
      "formConfigAbility": "ability://EntryAbility",
      "isDynamic": true,
      "metadata": []
    }
  ]
}

常见问题二:您的卡片存在isdefault字段有2个true问题,不符合规范。

{
    "forms": [{
            "name": "widget",
            "description": "$string:widget_desc",
            "src": "./ets/widget/pages/WidgetCard.ets",
            "uiSyntax": "arkts",
            "window": {
                "designWidth": 720,
                "autoDesignWidth": true
            },
            "colorMode": "auto",
            "isDefault": true,
            "updateEnabled": false,
            "scheduledUpdateTime": "10:30",
            "updateDuration": 1,
            "defaultDimension": "2*2",
            "supportDimensions": ["2*2"]
        }, {
            "name": "widget1",
            "description": "$string:widget1_desc",
            "src": "./ets/widget1/pages/Widget1Card.ets",
            "uiSyntax": "arkts",
            "window": {
                "designWidth": 720,
                "autoDesignWidth": true
            },
            "colorMode": "auto",
            "isDefault": true,
            "updateEnabled": false,
            "scheduledUpdateTime": "10:30",
            "updateDuration": 1,
            "defaultDimension": "2*2",
            "supportDimensions": ["2*2"]
        }
    ]
}

修改建议

当resource指定为$profile:form_config时,会使用开发视图的resources/base/profile/目录下的form_config.json作为卡片profile配置文件,其中,isDefault字段不可缺省,整个应用包内,每个设备类型对应isDefault最多只有一个为“true”。详情见配置ArkTS卡片的配置文件

应用上架前迭代版本测试可使用DevEco Testing应用上架预检功能 在本地设备/虚拟机提供黑盒专业测试能力,提前发现上架基础体验类问题,提升上架审核效率。

应用上架提审前可使用云测试应用上架预检功能 在云端提供远程黑盒专业测试,包含多品类,多设备,多OS的兼容测试能力,提前发现上架基础体验类问题,提升上架审核效率。

上架预检生成检测报告后,导入到AppAnalyzer工具 进行诊断和分析,获得可能的故障原因并生成体检报告。


更多关于HarmonyOS鸿蒙Next中【上架检测FAQ】卡片isdefault字段不可缺省的实战教程也可以访问 https://www.itying.com/category-93-b0.html

2 回复

在HarmonyOS鸿蒙Next中,卡片配置的isdefault字段必须显式声明,不可省略。该字段用于定义卡片是否为默认显示项,其取值必须明确设置为true或false。若缺失此字段,系统将无法识别卡片的默认状态,导致上架检测失败。开发者需在配置文件中确保该字段正确填写,以满足应用商店的审核要求。

更多关于HarmonyOS鸿蒙Next中【上架检测FAQ】卡片isdefault字段不可缺省的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS Next中,isDefault字段是卡片配置文件form_config.json中的必填项,用于标识该卡片是否为默认卡片。每个应用或元服务中,针对同一设备类型,最多只能有一个卡片的isDefault字段值为true

根据您提供的FAQ内容,上架检测中常见的两个问题及核心要求如下:

  1. 字段不可缺省isDefault字段必须显式声明并赋值(truefalse),不能为空或缺失。如您提供的第一个错误案例所示,"isDefault": , 这种未赋值的状态会导致检测失败。

  2. 唯一性约束:在整个应用包内,针对同一种设备类型,所有卡片配置中只能有一个卡片的isDefault字段设置为true。您提供的第二个案例中,同一个forms数组内出现了两个"isDefault": true的卡片配置,这不符合规范。

修改与检查要点:

  • 请逐一检查项目内所有 resources/base/profile/ 目录下的 form_config.json 文件。
  • 确保每个卡片配置对象的 isDefault 字段都有明确的布尔值(truefalse)。
  • 确保对于手机、平板等不同设备类型(如有区分),每种类型下至多只有一个默认卡片(即isDefault: true)。

严格遵循此规范,是应用通过上架审核的基础条件之一。在开发阶段,建议使用DevEco Testing的预检功能提前发现此类配置问题。

回到顶部