“答开发者问”之HarmonyOS技术问题解析 第18期
本文原创发布在,欢迎前往与更多开发者进行互动。。1、2、3、4、5、使用命令符时出现:'hdc' 不是内部或外部命令,也不是可运行的程序或批处理文件。请问如何通过hdc命令获取设备的UDID?可以使用hdc shell bm get --udid获取设备UDID。
“答开发者问”之HarmonyOS技术问题解析 第18期
本文原创发布在华为开发者联盟社区,欢迎前往与更多开发者进行互动。
更多相关问题可点击原帖进行交流:“答开发者问”之HarmonyOS技术问题解析 第18期 。
本期问题如下:
5、HarmonyOS NEXT应用测试都有哪些工具可以使用,它们的使用场景有哪些区别?
问题一:如何比较方便的获取设备的UDID?
使用命令符时出现:'hdc' 不是内部或外部命令,也不是可运行的程序或批处理文件。请问如何通过hdc命令获取设备的UDID?
解决方案:
可以使用hdc shell bm get --udid获取设备UDID。
关于'hdc' 不是内部或外部命令,也不是可运行的程序或批处理文件这个问题,需要将DevEcoStudio的安装目录DevEcoStudio\sdk\default\openharmony\toolchains配置到系统环境变量path里,详情可参考HDC配置。
原链接:
如何比较方便的获取设备的UDID啊?-华为开发者问答 | 华为开发者联盟 (huawei.com)
问题二:无内购无广告且不联网的游戏上架时是否需要版号?
我是个人开发者,写了个小游戏,无内购,无广告,也不联网,上架时是否需要版号?
解决方案:
根据华为应用市场的审核要求,单机游戏需要版号。
以下是具体说明:游戏版权与版号规定:
- 华为应用市场明确要求,无论单机还是网络游戏,均需提供 《网络游戏出版物号(ISBN)》或《版号批文》 等合法资质文件。该规定适用于所有在中国大陆地区发布的游戏应用。
- 资质审核流程:
游戏上架前必须通过 资质审核,且版号是核心审核项之一。若未提交有效版号,应用将无法通过审核。 - 常见误区澄清:
- 单机游戏是否例外?
否。华为应用市场未对单机游戏豁免版号要求,所有游戏类应用均需遵守国家新闻出版署的版号管理规定。
- 未调用联网功能是否影响?
不影响。即使游戏为纯单机模式,仍需提供版号。
原链接:
无内购,没有接入广告,不联网的小游戏上架时是否需要版号?-华为开发者问答 | 华为开发者联盟 (huawei.com)
问题三:怎么实现类似于练字的功能?
想要实现类似于练字的功能,有没有什么好的方法推荐?
解决方案:
可参考儿童练字板示例,通过Canvas展示了儿童练字板场景,为儿童提供了在移动设备上练习书法的机会。
- 通过ontouch事件,监听用户手指按下、滑动、抬起,获取触点坐标。
- 利用CanvasRenderingContext2D进行绘制。
- 利用clearRect方法删除画布指定区域的内容。
复制
// 构造练字板的米字格
drawLine(ctx: CanvasRenderingContext2D, r: number);
// 手绘板的获取
Canvas(this.context){}
.ontouch();
// 删除画布指定区域的内容
context.clearRect(0, 0, this.canvasWidth, this.canvasHeight);
原链接:
怎么实现类似于练字的功能?-华为开发者问答 | 华为开发者联盟 (huawei.com)
问题四:Arkweb如何正确加载web的当前title?
使用arkweb的onTitleReceive获取web的title有时候并不是和document.title是一致的,而且onTitleReceive经常会返回url字符串,请问这种问题应该如何应对?
解决方案:
- 方案一:在onTitleReceive中通过webController.getTitle()获取网页的标题。
- 方案二:通过runJavaScript执行JavaScript代码来获取文档的标题。
如果getTitle返回的是网页url,那是因为当前网页未设置title。正常来说通过webController.getTitle()获取到的网页标题和document.title是一致,如果遇到不一致的情况,可以自由选择方式一或者二。
具体参考如下demo:
复制
import { webview } from '@kit.ArkWeb';
import { BusinessError } from '@kit.BasicServicesKit';
@Entry
@Component
struct Question2 {
context: Context = this.getUIContext()?.getHostContext() as Context;
webviewController: webview.WebviewController = new webview.WebviewController();
@State title: string = '';
build() {
Column() {
Text("title:" + this.title)
Web({ src: $rawfile('question/question4.html'), controller: this.webviewController })
.fileAccess(true)
.domStorageAccess(true)
.onTitleReceive((event) => {
if (event) {
// 方式一:在onTitleReceive回调中使用getTitle获取标题
this.title = this.webviewController.getTitle();
// 方式二:在onTitleReceive通过runJavaScript执行JavaScript脚本获取标题,和方式一二选一
this.webviewController.runJavaScript('getTitle()', (error, result) => {
if (error) {
console.error(`run JavaScript error, ErrorCode: ${(error as BusinessError).code}, Message: ${(error as BusinessError).message}`);
return;
}
if (result) {
this.title = JSON.parse(result);
}
})
}
})
}
.height('100%')
.width('100%')
}
}
复制
<!-- index.html -->
<!DOCTYPE html>
<html>
<title>测试title</title>
<head>
<style>
#demo {
font-size: 24px;
font-weight: 700;
}
</style>
</head>
<body>
<p id="demo"></p>
<script>
function getTitle() {
return document.title;
}
</script>
</body>
</html>
原链接:
Arkweb如何正确加载web的当前title?-华为开发者问答 | 华为开发者联盟 (huawei.com)
问题五:HarmonyOS NEXT应用测试都有哪些工具可以使用,它们的使用场景有哪些区别?
目前HarmonyOS NEXT应用测试都有哪些工具,这些工具的使用场景是什么呢?
解决方案:
【问题现象】
目前HarmonyOS NEXT应用测试都有哪些工具,这些工具的使用场景是什么呢?
【背景知识】
应用测试概述主要介绍HarmonyOS NEXT应用的单元测试、UI测试和专项测试。
AppGallery Connect云测试致力于提供便捷的一站式应用测试服务,解决应用开发、测试过程中面临的成本、技术和效率问题。
应用体验建议主要介绍基础功能和兼容性、稳定性、功耗、性能、安全和UX这6大核心质量维度在开发阶段和测试阶段需要关注的体验建议。
【解决方案】
如下图所示,这是应用在开发过程中典型的测试活动模型和测试活动质量目标,一般分为单元测试,集成测试、UI测试、体验测试和用户测试。

- 单元测试:通过自动化测试保障代码、函数逻辑实现正确,异常处理充分。
测试工具:开发者可基于DevEco Studio提供的单元测试框架JsUnit、UI测试框架UITest和白盒性能测试框架PerfTest进行用例编写和自测试,支持黑盒覆盖率统计和Mock能力。 - 集成测试:组件实现符合设计,接口正确和组件完整。
测试工具:同单元测试,集成测试检查更大子系统的行为,或者多个类和函数的组合。 - UI测试:应用功能正确实现,用户场景目标可达成。
测试工具:使用基于Python语言的DevEco Testing Hypium进行UI自动化测试,提升测试效率。 - 体验测试:主要包括兼容性、稳定性、安全、性能、功耗、UX等,开发者可通过专项测试工具来保证应用基础体验良好,流畅、精致、安全等。同时开发者在应用上架前可以提前进行上架预检测试,提前发现问题,提高上架审核通过率。
测试工具:- 如果您本地有HarmonyOS真机设备,可使用DevEco Testing进行专项测试服务。优点:以服务卡片的形式呈现,安装工具后,即插即用,一键执行测试任务。
- 如果您本地无HarmonyOS真机设备,可使用云测试进行专项测试服务。优点:提供海量远程真机,无需开发者自备真机,可申请多台设备并行测试,解决应用开发、测试过程中面临的成本、技术和效率问题。
- 用户测试:用户感知卓越、好用、爱用。
测试工具:
原链接:
HarmonyOS NEXT应用测试都有哪些工具可以使用,它们的使用场景有哪些区别?-华为开发者问答 | 华为开发者联盟 (huawei.com)
答开发者问系列汇总:
往期问题回顾:
注意:
开发者小伙伴们,规范提问,高效沟通!更快得到问题答案的秘诀来啦,点击链接直达
更多推荐



所有评论(0)