【FAQ】Harmo【FAQ】HarmonyOS SDK 闭源开放能力 — 公共模块
1.问题描述:
文档哪里能找到所有的权限查看该权限是用户级的还是系统级的。
解决方案:
您好,可以看一下下方链接是否可以解决问题:
https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/permissions-for-all-V5
https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/permissions-in-acl-V5
2.问题描述:
查阅文档发现isApplicationEnabled方法已被弃用,目前如何判断手机中某个应用是否已安装?
解决方案:
应用是否已安装?
目前判断应用是否在手机安装,在API 12之前并不支持。
在API 12之后,bundleManager支持canOpenLink接口,通过配置module.json5的querySchemes属性,在代码中可以通过一下代码确定对应应用是否安装:
3.问题描述:
如何在代码中获取oh-package.json5中的信息,比如版本(version)或者描述(description)?
解决方案:
可以通过hvigor脚本实现。
hvigor自定义任务指导:https://developer.harmonyos.com/cn/docs/documentation/doc-guides-V2/custom-hvigor-0000001650987753-V2
Demo: 这里展示在har module的hvigorfile.ts文件下,编写脚本代码,实现: 1.获取并解析oh-package.json5中的内容 2.获取har产物的路径 3.修改har产物的名称
import { harTasks } from '@ohos/hvigor-ohos-plugin';
import fs from 'fs'
interface OhPackage {
name: string;
version: number;
description: string;
author: string;
}
export function renameHarTask(str?: string) {
return {
pluginId: 'RenameHarTaskID',
apply(pluginContext) {
pluginContext.registerTask({
// 编写自定义任务
name: 'renameHarTask',
run: (taskContext) => {
//读取oh-package.json5,解析出version
const packageFile = taskContext.modulePath+'\oh-package.json5';
console.log('file: ', packageFile);
let fileContent = fs.readFileSync(packageFile, 'utf8');
console.log(fileContent);
const content: OhPackage = JSON.parse(fileContent);
const version = content.version;
const author = content.author;
console.log('renameHarTask: ', taskContext.moduleName, taskContext.modulePath);
const sourceFile = taskContext.modulePath + '\\build\\default\\outputs\\default\\' + taskContext.moduleName + '.har';
const targetFile = taskContext.modulePath + '\\build\\default\\outputs\\default\\'
+ taskContext.moduleName + '-' + version + '-' + author +'.har';
console.log('renameHarTask: sourceFile: ', sourceFile);
console.log('renameHarTask: targetFile: ', targetFile);
// 修改产物名
fs.rename(sourceFile, targetFile, (err)=> {
console.log('err: ' + err);
});
},
// 确认自定义任务插入位置
dependencies: ['default@PackageHar'],
postDependencies: ['assembleHar']
})
}
}
}
export default {
system: harTasks,
plugins:[renameHarTask()]
}
实现效果 在Terminal窗口执行: ./hvigorw renameHarTask 查看build/default/outputs/default/下的har,可以看到,生成的har已经修改为了我们代码中指定的taskContext.moduleName + '-' + version + '-' + author +'.har'
4.问题描述:
编译报错:The default system capabilities of devices phone, tablet, 2in1 do not include SystemCapability.Communication.NFC.Tag. Configure the capabilities in syscap.json.
解决方案:
报错提示是:不包括SystemCapability.Communication.NFC.Tag,需要syscap.json中配置。
【FAQ】Harmo【FAQ】HarmonyOS SDK 闭源开放能力 — 公共模块的更多相关文章
- Linux开源系统对比Windows闭源系统的优势解析
当我们听到linux的时候是不是觉得高大上的感觉呢?在我刚上大学的时候,听着学长们给我讲他们的大学的学习经历,先学习C语言.单片机.然后做一些项目,现在正学习linux操作系统,当我听到linux操作 ...
- Eureka 2.0 闭源--选择Consul???
在上个月我们知道 Eureka 2.0 闭源了,但其实对国内的用户影响甚小,一方面国内大都使用的是 Eureka 1.X 系列,另一方面 Spring Cloud 支持很多服务发现的软件,Eureka ...
- Eureka 2.0 闭源--选择Consul???[转]
原文链接: https://www.cnblogs.com/williamjie/p/9369800.html 在上个月我们知道 Eureka 2.0 闭源了,但其实对国内的用户影响甚小,一方面国内大 ...
- 凉凉了,Eureka 宣布闭源,Spring Cloud 何去何从?
今年 Dubbo 活了,并且被 Apache 收了.同时很不幸,Spring Cloud 下的 Netflix Eureka 组件项目居然宣布闭源了.. 已经从 Dubbo 迁移至 Spring Cl ...
- 第一部分:开发前的准备-第八章 Android SDK与源码下载
第8章 Android SDK与源码下载 如果你是新下载的SDK,请阅读一下步骤了解如何设置SDK.如果你已经下载使用过SDK,那么你应该使用AVD Manager,来更新即可. 下面是构建Andro ...
- Ubuntu 16.04安装GTX960闭源驱动
GTX960的闭源要Nvidia 346版才行,闭源驱动能很大提升显卡的性能,例如双显示输出等,缺点是不开源. 有以下方式来安装: 1.命令行: sudo add-apt-repository -y ...
- 小D课堂 - 新版本微服务springcloud+Docker教程_3-04 SpringCloud微服务核心组件Eureka介绍和闭源后影响
笔记 4.SpringCloud微服务核心组件Eureka介绍和闭源后影响 简介: SpringCloud体系介绍 官方地址:http://projec ...
- deepin20 安装英伟达闭源驱动
第一步.安装深度的"显卡驱动器" 在deepin v20 中默认没有显卡驱动管理器,需要命令行安装,命令如下(刚开始一直出错,当我第一次打开应用商店,就可以安装了,好神奇): su ...
- Docker与k8s的恩怨情仇(四)-云原生时代的闭源落幕
转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具.解决方案和服务,赋能开发者. 在本系列前几篇文章中,我们介绍了从Cloud Foundry到Docker等PaaS平台的发展迭代过程.今天 ...
- 读Zepto源码之Ajax模块
Ajax 模块也是经常会用到的模块,Ajax 模块中包含了 jsonp 的现实,和 XMLHttpRequest 的封装. 读 Zepto 源码系列文章已经放到了github上,欢迎star: rea ...
随机推荐
- 【Jmeter】之批量处理多接口压力测试
一.需求前提 1.有以下三个步骤: ①创建单据 ②审核单据 ③确认单据 让三个相关接口进行一连串批量请求操作,直到所有批量数据确认单据成功. 二.测试计划 需要说明的是,因为每个接口可能处理的不太一样 ...
- 一文搞懂 == 、equals和hashCode
面试的时候,经常会被问到==和equals()的区别是什么?以及我们也知道重写equals()时候必须重新hashCode().这是为什么?既然有了hashCode()方法了,JDK又为什么要提供eq ...
- LaViT:这也行,微软提出直接用上一层的注意力权重生成当前层的注意力权重 | CVPR 2024
Less-Attention Vision Transformer利用了在多头自注意力(MHSA)块中计算的依赖关系,通过重复使用先前MSA块的注意力来绕过注意力计算,还额外增加了一个简单的保持对角性 ...
- 6.13API接口服务类漏洞探针
ip地址解析:www.x.x.x.com, 对应网站目录为d:/wwwroot/xiaodi/ 而127.x.x.x,对应网站目录为d:/wwwroot/,可能存在网站备份文件zip,所以ip网址端口 ...
- 技术解析 | ZEGO 移动端超分辨率技术
即构超分追求:速度更快.效果更好.码率更低.机型更广. 超分辨率(Super Resolution, SR)是从给定的低分辨率(Low Resolution, LR)图像中恢复高分辨率(High ...
- webpack笔记-生产环境与开发环境常用plugin介绍(五)
mode 和 plugin 前边我们介绍 mode 时提过,mode 不同值会影响 webpack 构建配置,其中有一个就是会启用 DefinePlugin 来设置process.env.NODE_E ...
- 合合信息参编“生成式人工智能个人信息保护技术要求系列标准”,助力AI行业可信发展
生成式人工智能作为新一轮的技术革命成果,在赋能千行百业,给经济社会发展带来新机遇的同时,也产生了个人信息泄露.数据安全风险等问题.在此背景下,中国信息通信研究院(简称"中国信通院" ...
- DOM – Web Animation API
前言 以前写过相关的文章 angular2 学习笔记 ( animation 动画 ).但在项目种很少用到 Web Animation. 体会不到它的精髓,目前的感觉是,它对比 CSS Animati ...
- 记一次 RabbitMQ 消费者莫名消失问题的排查
开心一刻 今天好哥们找我借钱哥们:兄弟,我最近手头紧,能不能借我点...我:我手头也不宽裕,要不你试试银行贷款或者花呗?哥们:不行,那个借了要还的我:... 问题回顾 某天下午,生产监控告警:消息积压 ...
- 【赵渝强老师】Docker Swarm集群的数据持久化
如果Docker Swarm集群中运行了mysql.nginx等服务,这些服务的数据如果没有挂载到宿主机中,那么容器一旦停止运行,那就意味着数据丢失. 有什么方法可以解决swarm集群中运行的服务能够 ...