DevEco Studio在新增的模块里面新增一个TestAbility运行模拟器报The abilitieType or abilityName attribute does not exist.
DevEco Studio在新增的模块里面新增一个TestAbility运行模拟器报The abilitieType or abilityName attribute does not exist. 今天在新增的模块里面新增一个TestAbility然后运行模拟器就会报The abilitieType or abilityName attribute does not exist.,我只是新增一个页面,我看了配置文件也没有什么特殊的,这个配置文件改动是工具自动新增的,求助大佬看看是什么问题导致的,项目模块目录如下

config.json文件代码如下,我看了一下好像也没有什么错误
{
"app": {
"bundleName": "com.example.abilitytransfertest",
"vendor": "example",
"version": {
"code": 1,
"name": "1.0"
},
"apiVersion": {
"compatible": 3,
"target": 3
}
},
"deviceConfig": {},
"module": {
"package": "com.example.elementscattertest",
"name": ".ElementScatterTest",
"reqCapabilities": [
"video_support"
],
"deviceType": [
"tv"
],
"distro": {
"deliveryWithInstall": true,
"moduleName": "elementscattertest",
"moduleType": "feature"
},
"abilities": [
{
"skills": [
{
"entities": [
"entity.system.home"
],
"actions": [
"entity.system.home"
]
}
],
"orientation": "landscape",
"formEnabled": false,
"name": "com.example.elementscattertest.MainAbility",
"icon": "$media:icon",
"description": "$string:mainability_description",
"label": "ElementScatterTest",
"type": "page",
"launchType": "standard"
},
{
"orientation": "landscape",
"formEnabled": false,
"name": "com.example.elementscattertest.TestAbility",
"icon": "$media:icon",
"description": "$string:testability_description",
"label": "elementscattertest",
"type": "page",
"launchType": "standard"
}
]
}
}
没有添加这个TestAbility的时候,运行模拟器是正常的,一添加就报错,导致别的模块运行模拟器也没反应,然后我把新增的这个相关的ability和abilitySlice以及xml和config.json文件里相关的也删掉,模拟器运行也没反应,只有把DevEcoStudio重启再运行模拟器才能运行成功,有效果
楼主在开发的过程中是不是自己改过 modle的name呢,然后对应config.json文件内部的一些标签是大写,一些是小写
您好,测试木有复现问题捏,建议您通过工单路径提供下日志https://developer.huawei.com/consumer/cn/support/feedback/#/add/90011/HAOS0001 将会有技术人员直接为您解决问题,感谢支持~
好的,谢谢,正常是没问题,之前我新建也没问题,现在这一个项目里面好多模块,既有Js又有Java的,然后有好几个,同一个工程,我在三台电脑上跑过,不知道跟这个有没有关系,我看一下能提就提个日志
提交工单一直提示操作失败,也没说啥原因。。。
亲爱滴开发者 ,这个问题已经在处理中啦,稍后答复你哟 ,么么哒
在DevEco Studio中,当你在新增的模块里添加一个TestAbility并运行模拟器时,如果遇到“The abilitieType or abilityName attribute does not exist”错误,通常是由于配置文件中的abilityType或abilityName属性缺失或配置不正确导致的。
在鸿蒙系统中,每个Ability都需要在config.json
文件中进行声明和配置。确保在config.json
文件的abilities
节点下,正确配置了abilityType
和abilityName
属性。abilityType
通常用于指定Ability的类型,如page
、service
等,而abilityName
则是Ability的唯一标识符。
例如,一个基本的Ability配置可能如下所示:
{
"abilities": [
{
"name": "com.example.TestAbility",
"type": "page",
"visible": true,
"launchType": "standard"
}
]
}
确保name
属性与代码中的Ability类名一致,type
属性根据Ability的类型正确设置。如果这些属性缺失或配置错误,模拟器将无法正确识别和运行该Ability,从而报出上述错误。
检查并修正config.json
文件中的相关配置后,重新编译并运行项目,问题应得到解决。
该错误通常是由于config.json
文件中缺少或错误配置了abilityType
或abilityName
属性。请检查config.json
文件,确保在abilities
节点下正确配置了abilityType
和abilityName
属性。例如:
"abilities": [
{
"name": ".TestAbility",
"type": "page"
}
]
确保name
和type
属性存在且正确。如果问题仍然存在,建议清理项目并重新构建。