【FAQ】HarmonyOS SDK 闭源开放能力 —Asset Store Kit
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开发指导
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