给华为反馈的HarmonyOS Bug与解决进度,涉及底层、java、js等 精华

开源夏德旺
发布于 2021-2-25 19:31
浏览
3收藏

 

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

一、工具相关

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

给华为反馈的HarmonyOS Bug与解决进度,涉及底层、java、js等-鸿蒙开发者社区

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

(2)graphic目录下的代码编写无任何提示
该问题已经在规划中,下一个IDE版本发布解决

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

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

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

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

二、JS代码相关
(1)、JS FA调用java PA的一个关键操作引入,功能正常,但是IDE飘红
给华为反馈的HarmonyOS Bug与解决进度,涉及底层、java、js等-鸿蒙开发者社区
该问题已经在下一个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上支持
下面是我的代码,

给华为反馈的HarmonyOS Bug与解决进度,涉及底层、java、js等-鸿蒙开发者社区

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

给华为反馈的HarmonyOS Bug与解决进度,涉及底层、java、js等-鸿蒙开发者社区

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

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

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

 

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

给华为反馈的HarmonyOS Bug与解决进度,涉及底层、java、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

给华为反馈的HarmonyOS Bug与解决进度,涉及底层、java、js等-鸿蒙开发者社区

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

目前官网已经修复

(2)、错误案例链接地址 https://developer.harmonyos.com/cn/docs/documentation/doc-guides/wearable-adding-module-0000001053581601

给华为反馈的HarmonyOS Bug与解决进度,涉及底层、java、js等-鸿蒙开发者社区

目前官网已经修复

标签
6
收藏 3
回复
举报
7条回复
按时间正序
/
按时间倒序
鸿蒙张荣超
鸿蒙张荣超

DevEco Studio导入外部module的功能比较实用,请见该文作者的另一篇帖子:https://harmonyos.51cto.com/posts/2718

回复
2021-2-25 20:15:36
鸿蒙张荣超
鸿蒙张荣超

希望鸿蒙生态能多一些这样用心的开发者!👍👍👍👍👍👍

回复
2021-2-25 20:16:25
开源夏德旺
开源夏德旺 回复了 鸿蒙张荣超
希望鸿蒙生态能多一些这样用心的开发者!👍👍👍👍👍👍

共同努力

回复
2021-2-26 09:19:29
软通动力HOS
软通动力HOS

谢谢老师分享

回复
2021-3-10 09:44:20
软通田可辉
软通田可辉

夏老师很细心👍👍👍

回复
2021-3-10 11:30:30
wx6048e2025e985
wx6048e2025e985

编程学的不错呀

回复
2021-3-10 23:13:33
白鹿白鹿
白鹿白鹿

我们开发过程中也发现了一些的误导,比如sdk中的关键字和文档中的出入,边缘华的动效api缺失,做的东西比较生硬。鸿蒙加油

 

回复
2021-3-10 23:47:47
回复
    相关推荐