首页 > 其他分享 >【FAQ】Harmo【FAQ】HarmonyOS SDK 闭源开放能力 — 公共模块

【FAQ】Harmo【FAQ】HarmonyOS SDK 闭源开放能力 — 公共模块

时间:2024-11-25 11:56:32浏览次数:5  
标签:renameHarTask default V5 FAQ HarmonyOS version 闭源 har taskContext

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属性,在代码中可以通过一下代码确定对应应用是否安装:

参考链接:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-bundlemanager-V5#ZH-CN_TOPIC_0000001893370881__bundlemanagercanopenlink12

3.问题描述:

如何在代码中获取oh-package.json5中的信息,比如版本(version)或者描述(description)?

解决方案:

可以通过hvigor脚本实现。

hvigor自定义任务指导:https://developer.harmonyos.com/cn/docs/documentation/doc-guides-V2/custom-hvigor-0000001650987753-V2

hvigor命令行指导:https://developer.harmonyos.com/cn/docs/documentation/doc-guides-V2/ide-command-line-hvigor-0000001553317645-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中配置。

可参考链接:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/syscap-V5#ZH-CN_TOPIC_0000001904100062__pcid导入

标签:renameHarTask,default,V5,FAQ,HarmonyOS,version,闭源,har,taskContext
From: https://www.cnblogs.com/HarmonyOSSDK/p/18567271

相关文章

  • HarmonyOs DevEco Studio小技巧34--鸿蒙应用架构设计 MVVM模式与三层架构、工程目录迁
    MVVM模式ArkUI采取MVVM=Model+View+ViewModel模式,其中状态管理模块起到的就是ViewModel的作用,将数据与视图绑定在一起,更新数据的时候直接更新视图。在MVVM模式中:Model(模型):model文件夹用于存储数据模型。它表示组件或其他相关业务逻辑之间传输的数据,是对原始数据的......
  • HarmonyOS Next 构建企业级数据安全管理平台实战
    本文旨在深入探讨华为鸿蒙HarmonyOSNext系统(截止目前API12)在构建企业级数据安全管理平台方面的技术细节,基于实际开发实践进行总结。主要作为技术分享与交流载体,难免错漏,欢迎各位同仁提出宝贵意见和问题,以便共同进步。本文为原创内容,任何形式的转载必须注明出处及原作者。一......
  • HarmonyOS Next 企业数据安全生态构建与展望
    本文旨在深入探讨华为鸿蒙HarmonyOSNext系统(截止目前API12)在企业数据安全生态构建方面的技术细节,基于实际开发实践进行总结。主要作为技术分享与交流载体,难免错漏,欢迎各位同仁提出宝贵意见和问题,以便共同进步。本文为原创内容,任何形式的转载必须注明出处及原作者。一、安全......
  • HarmonyOS Next 企业数据安全与物联网融合实践
    本文旨在深入探讨华为鸿蒙HarmonyOSNext系统(截止目前API12)在企业数据安全与物联网融合方面的技术细节,基于实际开发实践进行总结。主要作为技术分享与交流载体,难免错漏,欢迎各位同仁提出宝贵意见和问题,以便共同进步。本文为原创内容,任何形式的转载必须注明出处及原作者。一、......
  • HarmonyOs DevEco Studio小技巧31--卡片的生命周期与卡片的开发
    FormKit简介FormKit(卡片开发服务)提供一种界面展示形式,可以将应用的重要信息或操作前置到服务卡片(以下简称“卡片”),以达到服务直达、减少跳转层级的体验效果。卡片常用于嵌入到其他应用(当前被嵌入方即卡片使用方只支持系统应用,例如桌面)中作为其界面显示的一部分,并支持拉起页......
  • HarmonyOS Next 安全更新机制全解析感悟
    本文旨在深入探讨华为鸿蒙HarmonyOSNext系统(截止目前API12)的技术细节,基于实际开发实践进行总结。主要作为技术分享与交流载体,难免错漏,欢迎各位同仁提出宝贵意见和问题,以便共同进步。本文为原创内容,任何形式的转载必须注明出处及原作者。一、安全更新的重要性(一)对系统稳定......
  • HarmonyOS Next 助力智能医疗设备安全管理实战
    本文旨在深入探讨华为鸿蒙HarmonyOSNext系统(截止目前API12)的技术细节,基于实际开发实践进行总结。主要作为技术分享与交流载体,难免错漏,欢迎各位同仁提出宝贵意见和问题,以便共同进步。本文为原创内容,任何形式的转载必须注明出处及原作者。一、智能医疗设备安全背景与挑战(一)......
  • HarmonyOS Next 构建企业级安全办公平台实战
    本文旨在深入探讨华为鸿蒙HarmonyOSNext系统(截止目前API12)的技术细节,基于实际开发实践进行总结。主要作为技术分享与交流载体,难免错漏,欢迎各位同仁提出宝贵意见和问题,以便共同进步。本文为原创内容,任何形式的转载必须注明出处及原作者。一、办公平台安全需求分析(一)企业办......
  • HarmonyOS Next 打造智能家居安全系统实战
    本文旨在深入探讨华为鸿蒙HarmonyOSNext系统(截止目前API12)的技术细节,基于实际开发实践进行总结。主要作为技术分享与交流载体,难免错漏,欢迎各位同仁提出宝贵意见和问题,以便共同进步。本文为原创内容,任何形式的转载必须注明出处及原作者。一、项目需求与规划(一)智能家居系统......
  • HarmonyOS:给您的应用添加通知(1)
    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤博客园地址:为敢技术(https://www.cnblogs.com/strengthen/ )➤GitHub地址:https://github.com/strengthen➤原文地址:https://www.cnblogs.com/strengthen/p/18502243➤如果链接不是为敢技术的博客园地址,则可......