写点什么

【FAQ】HarmonyOS SDK 闭源开放能力 —Asset Store Kitx

作者:HMS Core
  • 2024-04-03
    广东
  • 本文字数:950 字

    阅读完需:约 3 分钟

1.问题描述


使用关键资产 API 需要配置 SystemCapability.Security.Asset,但不知道 syscap.json 文件应该配置在哪里,文档也没找到。


解决方案


新增关键资产等 API 可以直接参考开发指南里的示例代码进行调用:

https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/asset-js-add-0000001822162705。如需查询,也可以调用查询关键资产 API。


如果您这边想要加入自定义的 syscap.json 文件,建议参考 SysCap 开发指导:

https://developer.huawei.com/consumer/cn/doc/harmonyos-references/syscap-0000001774120846#ZH-CN_TOPIC_0000001774120846__syscap%E5%BC%80%E5%8F%91%E6%8C%87%E5%AF%BC


2.问题描述


studio:4.1.3.501,sdk:Developer Preview1

在编译器中可以正常 import {asset} from '@kit.AssetStoreKit'。也可以正常调用增删改查接口,没有报错。但是编译往手机装载的时候出现异常:

> hvigor ERROR: Failed :app:default@CompileArkTS... 

> hvigor ERROR: ArkTS Compiler Error

COMPILE RESULT:FAIL {ERROR:2}

> hvigor ERROR: BUILD FAILED in 6 s 443 ms 

应该如何解决?


解决方案


原先使用的是老版本的 IDE 开发的项目,对应的 hvigorVersion 也是老版本的。将工程移到新版本的 IDE 之后, 对应的 hvigorVersion 未进行更新。所以导致了这个问题。将 hvigorVersion 升级到与 IDE 相匹配的版本之后即可解决。


3.问题描述


覆盖安装数据存在,如何实现应用卸载后,数据不会丢失?


解决方案


1、Asset Store Kit 在新增数据时设置 IS_PERSISTENT 属性,可以在应用卸载时保留关键资产。调用示例: attr.set(asset.Tag.IS_PERSISTENT, true); 


2、使用 IS_PERSISTENT 属性时,应用需要声明 ohos.permission.STORE_PERSISTENT_DATA(允许应用存储持久化的数据,该数据直到设备恢复出厂设置或重装系统才会被清除)权限,如果不声明会收到 201(权限校验失败)错误。

属性说明请参见 add 接口介绍指南:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/asset-js-add-0000001815758824-V5

权限声明请参考:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/declare-permissions-0000001820999665-V5

错误码请查看通用错误码说明:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/development-intro-0000001580026066-V5

用户头像

HMS Core

关注

HarmonyOS SDK 2022-06-16 加入

HarmonyOS SDK通过将HarmonyOS系统级能力对外开放,支撑开发者高效打造更纯净、更智能、更精致、更易用的鸿蒙原生应用,和开发者共同成长。

评论

发布
暂无评论
【FAQ】HarmonyOS SDK 闭源开放能力 —Asset Store Kitx_HarmonyOS_HMS Core_InfoQ写作社区