给华为反馈的鸿蒙HarmonyOS Bug与解决进度,涉及底层、Java、JS等

开发 OpenHarmony
文章由鸿蒙社区产出,想要了解更多内容请前往:51CTO和华为官方战略合作共建的鸿蒙技术社区https://harmonyos.51cto.com

[[385218]]

想了解更多内容,请访问:

51CTO和华为官方合作共建的鸿蒙技术社区

https://harmonyos.51cto.com

下面的问题绿色代表当前已解决,蓝色代表华为已经有解决方案并在新版本中解决,红色代表未解决,黑色代表自己想出的规避解决方案,但是还是希望官方能够解决。

一、工具相关

(1)xml代码中飘红现象,但是实际代码运行时生效的

该问题已经在SDK4中解决,如果之前安装过SDK3,需要手动将SDK3删除才不会有此问题。

(2)graphic目录下的代码编写无任何提示

​该问题已经在规划中,下一个IDE版本发布解决

(3)$media、$graphic等无法关联跳转

该问题已经在规划中,下一个IDE版本发布解决

(4)Eco Studio无法导入外部module

单独编写了一个手动导入的办法,请见我另一篇帖子。

二、JS代码相关

​(1)、JS FA调用java PA的一个关键操作引入,功能正常,但是IDE飘红

该问题已经在下一个SDK版本中解决,等待发版本

​(2)、JS vedio标签中control属性设置为false,视频有声音没图像

该问题卡了非常之久,最开始认为不是bug,是我单例现象,华为方其他合作方和内部开发测试无问题。后来我经过模拟器、真机、精简代码、反复对比测试等各种手段发现依然不行,最后拉了华为各个领域的一堆技术支持支撑,最终确认这就是bug,根因是对外发布的版本有一段代码没有合入,确认此bug之后会在后续版本中更新此问题。

​(3)、js中的dialog只能从屏幕底部弹出,并且不能设置dialog的位置为屏幕居中

(4)、js FA中的img或者vedio标签如何加载ava PA中传递过来的图片或者视频

(5)、在tv和Wearable居然不支持setTimeout和setInterval方法,仅仅只能在LiteWearable上支持

下面是我的代码,

然后这个打印结果没有出来,取而代之的是一个底层的报错,截图如下:

在TV和Wearable上都会报这个错。

后来通过翻阅HarmonyOS底层源码等方式,自己尝试找到一个规避办法。

在app.js种调用了setTimeout方法,发现是可以正常执行的,没有我之前的那个TypeError的错误了,而之前在页面中直接调用这个是不可行的。瞬间像发现了新大陆了,于是我自己在app.js中定义一个mySetTimeout方法来进行中转setTimeout方法。代码如下,

然后我们就要想办法在页面中如何调用app.js中我们自己封装的方法了。于是页面中的代码可以这么写,如下图:

在此,问题得到解决,setInterval的解决方案同理。

实现上虽然麻烦了点,总算是解决了问题,希望华为官方后面能更新api以支持可以直接页面中调用定时器。

三、Java代码相关

(1)、不支持webview

(2)、java读写本地文件,文件路径如何编写?

​目前官网手册上编写了动态权限、读写文件相关的api,但是官网手册上写的路径的写法是不可靠的,这个路径具体如何编写?比如读取sdcard下的,读取app自带目录的,/data/data/app包名。 并且关于如何读取工程rawfile目录下的文件,官网描述了如何读取的api,但是路径如何取不清楚,这个自己试出来了。

(3)、不支持系统相册调用

(4)、Java graphic文件中支持shape但是不支持selecter写法,不方便快速定制一些UI效果。

(5)、模拟器不支持横竖屏切换,SDK也没有横竖屏切换相关的api??

(6)、远程模拟器没有声音

等待新版本更新解决

(7)、远程模拟器只能启动一个,没有本地模拟器,无法通过模拟器做传感器、分布式等开发

等待新版本更新解决

四、开发板相关

(1)开发板烧录经常会出现boot烧挂的现象,烧挂之后如何补救

补救措施单独编写了一份文档给华为方

(2)只能支持多进程单线程,不支持信号量

五、官网手册错误纠正

(1)、错误案例连接地址

https://developer.harmonyos.com/cn/docs/documentation/doc-guides/ui-js-fa-developing-0000000000500572

这个循环遍历数据的功能是开发中最常用的功能了,这里居然是错的,狠狠得把我误导了不少时间,还好最后在官网api手册上找到了

目前官网已经修复

(2)、错误案例链接地址

https://developer.harmonyos.com/cn/docs/documentation/doc-guides/wearable-adding-module-0000001053581601

目前官网已经修复

想了解更多内容,请访问:

51CTO和华为官方合作共建的鸿蒙技术社区

https://harmonyos.51cto.com

 

责任编辑:jianghua 来源: 鸿蒙社区
相关推荐

2015-09-22 15:01:57

移动应用Bug快速反馈

2014-04-17 11:01:18

OracleJava

2022-05-16 11:17:01

应用开发JSJAVA

2021-03-01 08:16:44

Linux 内核代码

2021-03-25 15:54:14

鸿蒙HarmonyOS应用开发

2020-11-11 11:56:05

HarmonyOS

2010-03-26 19:03:19

F#异步并行模式

2020-12-30 09:55:56

鸿蒙HarmonyOS环境搭建

2019-07-19 16:57:00

华为禁令开发

2021-03-11 14:28:11

bugLinux内核

2021-03-18 09:52:05

bugLinux内核

2021-09-06 14:58:23

鸿蒙HarmonyOS应用

2021-09-10 17:22:41

Testin云测

2009-02-20 09:48:01

Windows 7测试开发

2023-08-17 10:00:15

Windows 11微软

2022-02-17 14:51:39

HarmonyOSJSPAI开发canvas画布

2021-11-06 18:40:27

js底层模块
点赞
收藏

51CTO技术栈公众号