华为鸿蒙系统HarmonyOS学习之五:鸿蒙OpenHarmony开发中常见问题问答

13 篇文章 17 订阅
12 篇文章 15 订阅

华为鸿蒙系统HarmonyOS学习之五:鸿蒙OpenHarmony开发中常见问题

   

在搭建环境中经常遇到一些问题,下面的三类分别进行了归纳和汇总:

一、环境安装

 

  1. HarmonyOS SDK是否需要手动下载?不需要。在DevEco Studio中的“Settings > Appearance & Behavior > System Settings > HarmonyOS SDK”进行配置,选择安装路径后,DevEco Studio会自动联网进行SDK的下载。
     
  2. 为什么无法自动下载SDK和相关工具?检查是否成功连接Internet网络,如果所在网络被管控,不能直接访问外网,则需配置网络代理。可在“Settings > Appearance & Behavior > System Settings > HTTP Proxy” 进行配置。

二、功能开发

 

  1. 如何查看“config.json”文件的所有字段说明?“config.json”文件的各字段说明请查阅配置文件的元素。
     
  2. 怎么实现Ability可以被其他应用调用?开发者需要在“config.json”文件中将“abilities”字段的“visible”标签设置为true。
     
  3. 权限声明在哪里进行添加?开发者需要在“config.json”文件中的“reqPermissions”字段中声明所需要的权限,具体配置方法请参考申请权限。
     
  4. 使用数据库注解相关功能前有什么注意事项?使用注解功能需在模块的“build.gradle”文件的“ohos”节点中增加如下配置项(不使用注解功能无须配置):
    1. compileOptions{
    2.    annotationEnabled true
    3. }
  5. 使用<image>标签引入本地图片,但图片无法加载?图片无法加载的可能情况有三种:
    • 没有给图片设置宽度和高度,需要在对应的page目录下的css样式文件中设置图片的宽高。使用<image>标签的图片不会自动缩放,图片宽高超过组件的宽高会自动截取。
    • 图片引入路径错误。图片引入的路径必须是项目编译后的静态文件的路径。
    • 在导入图片或添加/删除页面后没有重新编译。需要重新编译刷新target文件中的代码。
  6. 如何在后一个页面获取前一个页面传递过来的参数?有三种方式可以获取前一个页面的参数。以如下场景为例:有两个页面“index”和“detail”,第二个页面“detail”需要获取从第一个页面“index”传递过来的参数。
    • 如果参数需要在页面中引用,可以直接在“detail.hml”中使用`{{参数名}}`的形式进行引用。
    • 如果需要对参数进行操作,在“detail.js”中,直接用this.参数名的形式使用。
    • 可以在“detail.js”的data域中定义一个同名参数进行接收,注意以这种方式接受的参数将覆盖已有的参数。
  7. 如何查询设备支持的硬件/软件功能?如何查询设备是否支持某个硬件/软件特性?
  8. 图片为什么显示不全?父类容器大小不能小于子组件容器大小。

     
    • 应用通过调用IBundleManager接口类中的getSystemAvailableCapabilities方法,可以查询设备支持的硬件/软件功能列表。具体的功能定义可以通过ohos.utils.CapabilityConstants类查询。
    • 应用通过调用IBundleManager接口类中的hasSystemCapability方法,可以查询设备是否支持某个硬件/软件功能。具体的功能定义可以通过ohos.utils.CapabilityConstants类查询

     9. 图片为什么显示不全?父类容器大小不能小于子组件容器大小。

 三、调测验证

  1. 编译工程提示“This device type does not match project profile.”或安装时出现“DEVICE_NOT_SUPPORT_ERROR”,如何解决?出现这种情况是由于“config.json”中配置的设备类型与调试设备类型不匹配,需要在“module”标签下配置对“deviceType”的定义。具体请参考表7的“deviceType”。
     
  2. 安装HAP失败,并提示“INCONSISTENT_BUNDLE_VERSION”,如何解决?系统中有重复应用,卸载系统中已有的包名相同的应用。
     
  3. 提示“signingConfig 'debug' can not be null or empty”,如何解决?检查“entry”下的build.gradle是否配置了签名。如果配了依然报错,检查是否误配到了工程级的build.gradle当中。
     
  4. 安装HAP失败,并提示“STRING_LENGTH_ERROR”,如何解决?可能原因有:
    • 包信息超过最大长度。包信息中包含的各属性字符串长度需要同时满足以下条件,否则会报错。
      1. bundleName的长度为7~127个字节。
      2. vendor的长度为0~255个字节。
      3. version.name的长度为0~127个字节。
    • 同时安装两个不同module生成的hap时,包信息不一致。需要比对两个module的“config.json”文件中“app”标签配置内容是否一致。
  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
鸿蒙(HarmonyOS)是华为公司自主研发的一款全面分布式操作系统。作为一个开源的操作系统鸿蒙吸引了众多开发者的关注与参与。以下是华为鸿蒙HarmonyOS开发者资料的汇总: 1. 官方网站:鸿蒙操作系统的官方网站提供了详细的技术文档、开发者工具下载、应用开发指南等资源。开发者可以访问官方网站获取最新的开发者资料和支持。 2. 开发者论坛:华为设立了专门的鸿蒙开发者论坛,为开发者提供交流、分享经验的平台。开发者可以在论坛提问、解答问题,并与其他开发者进行交流与合作。 3. 开发者账号:开发者可以在官方网站注册鸿蒙开发者账号,获得相关的开发者权限和资源。通过开发者账号,开发者可以获取最新的开发者工具、操作系统固件等。 4. 技术文档:华为鸿蒙开发者提供了丰富的技术文档,包括开发指南、API文档、示例代码等。开发者可以通过阅读文档了解鸿蒙操作系统的基本原理和开发方法。 5. 开发者工具:华为提供了一系列的开发者工具,如开发IDE、调试工具、模拟器等。开发者可以使用这些工具进行应用开发、调试和测试。 6. 大学合作计划:华为与全球的高校展开鸿蒙开发者培训计划,提供课程、讲座和实践机会。通过参加这些计划,开发者可以获得更多的知识和技能。 7. 开发者大会:华为定期举办开发者大会,为开发者提供平台展示和交流经验。开发者可以参加这些大会,与华为工程师和其他开发者进行面对面的交流和学习。 总之,华为鸿蒙HarmonyOS开发者资料丰富多样,包括官方网站、开发者论坛、开发者账号、技术文档、开发者工具、大学合作计划和开发者大会等。这些资料和资源为开发者提供了全面的支持和协助,帮助他们更好地开发应用并适应鸿蒙操作系统的发展。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

jyl_sh

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值