HarmonyOS 鸿蒙Next shared模块权限声明中的reason string值,声明在本模块编译错误
HarmonyOS 鸿蒙Next shared模块权限声明中的reason string值,声明在本模块编译错误
升级DevEco到最新版本后,应用编译失败,根据报错信息,提示 ohos.permission.APP_TRACKING_CONSENT 权限需要加上 reason和usedScene,在对应模块加好配置后,编译依然报错,报错信息是依赖这个权限声明的模块找不到reason string资源的声明,也就是 A模块 依赖 B模块, APP_TRACKING_CONSENT 声明在 B模块,A、B模块都是shared模块,A模块报错找不到 APP_TRACKING_CONSENT 声明中 reason string资源的定义 真实报错如附件图1 然后尝试,在A模块中也声明相同的string资源,依然报错 然后尝试,把B模块中的description的string id 改成和A模块中不一样,报错信息不变 然后尝试,在B模块中去掉string资源声明,在A模块中声明这个string资源,报错信息变化,变为 依赖 A模块的C模块(也是shared模块)找不到string资源 然后想到把这个string资源放到AppScope中,编译成功 想请教以下问题 - 这个行为是否符合官方预期 - 为什么这种情况权限声明的reason不能把string资源声明到本模块,而相同json文件的description却可以 - 这种现象是否和 shared模块类型相关
更多关于HarmonyOS 鸿蒙Next shared模块权限声明中的reason string值,声明在本模块编译错误的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
2 回复
应用打包时HSP资源理论不会向HAP合并,但是权限项会在APP层面进行合并,发生问题的原因是权限配置合并了,但是静态资源没有合并导致报错。
规避方法:
方法一:在APP入口的Hap模块的资源文件中做定义。
方法二:在AppScope中进行资源定义。
用新版的IDE,新版的没这个问题
更多关于HarmonyOS 鸿蒙Next shared模块权限声明中的reason string值,声明在本模块编译错误的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html