鸿蒙应用调测助手,想不到吧,鸿蒙上可以开发小游戏了!

2023-11-10 07:10

本文主要是介绍鸿蒙应用调测助手,想不到吧,鸿蒙上可以开发小游戏了!,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

11 月 4 日,首批 HarmonyOS 系统课程开发者张荣超老师为大家带来了一场主题为《从零开发鸿蒙小游戏APP》的精彩公开课,课上很多网友提出了自己关心的问题,下面我们就来和大家分享其中的精华部分:

afbcf671613f0a4576dbeab25548fc32.png

01

如何将开发的 Lite Wearable 项目部署在鸿蒙手表 Watch GT2 Pro 真机上?

步骤(1)生成秘钥和证书请求文件

链接:https://developer.harmonyos.com/cn/docs/documentation/doc-guides/create_csr-0000001053702411

步骤(2)在手机中安装 App:应用调测助手,通过该 App 获得鸿蒙手表的 udid,点击主界面中的复制按钮,可以复制手表的 udid。

步骤(3)给项目起一个包名(Package name)

起的包名是任意的,例如:com.test.lwdemo。以后每次创建 Lite Wearable 项目时,都要使用该包名。

步骤(4)发邮件给 agconnect@huawei.com

邮件中要包含4样东西:步骤(1)中的两个文件,步骤(2)中的 udid,步骤(3)中的包名。

步骤(5)官方回复邮件

回复的邮件中包含两个文件:.p7b 文件

.cer 文件

步骤(6)在 DevEco Studio 中创建一个 Lite Wearable 的项目

创建项目时的 Package Name,请使用步骤(3)中的包名。

步骤(7)在 DevEco Studio 中进行配置

在菜单栏中选择 File,然后点击 Project Structure,在弹出窗口中做如下配置:

步骤(8)在 DevEco Studio 中构建签名的 hap 包

在菜单栏中选择 Build,在弹出的菜单中点击 Build App(s)/Hap(s),然后点击 Build Debug Hap(s)。

生成的签名 hap 包所在的路径为:\build\outputs\hap\debug\liteWearable。

步骤(9)将签名的 hap 包拷贝到手机的指定位置

在手机的 sd 卡根目录中新建一个名为haps的目录,将步骤(8)中的 hap 包拷贝到 haps 目录中。

步骤(10)将手机中的 hap 包通过 App 应用调测助手安装到手表中

打开步骤(2)中安装的 App 应用调测助手,在主界面中点击按钮“应用管理”,在新打开的页面中就可以看到手机中的 hap 包了。

点击 hap 包后面的按钮“安装”,就可以将 hap 包安装到手表中了。安装完成后,应用调测助手中会跳出提示“安装完成”。

02

在 Lite Wearable 上开发的项目,如何做到“一次开发,多端部署”(直接部署在 Wearable 和 TV 这两个平台上)

要点(1)Lite Wearable 属于轻鸿蒙,Wearable 和 TV 属于富鸿蒙

轻鸿蒙和富鸿蒙在项目配置上目前是不统一的,比如富鸿蒙目前需要有 Java 的 shell,而轻鸿蒙是没有的,所以在 DevEco Studio 中轻鸿蒙和富鸿蒙的项目是不能通用的,还不能做到同一个项目支撑两套开发。

但是,在 Lite Wearable 平台上编写的 JS 代码文件是可以直接复用到 Wearable 或 TV 的项目里面的。

要点(2)通过指定 deviceType,可以让同一个项目在多个轻鸿蒙设备或多个富鸿蒙设备上通用

例如:Wearable 和 TV 都属于富鸿蒙。新建一个 Wearable 的项目,在项目的文件 config.json 中,deviceType 的值默认是 ["wearable"]。

如果将 deviceType 的取值修改为 ["wearable", "tv"],那么这个 Wearable 的项目就可以直接运行在 TV 平台上。

03

就目前而言,相对于 Wearable 和 TV 这两个平台,为什么说在 Lite Wearable 这个平台上相关的开发工具是最全面、最稳定的,并且给开发者的体验是最好的?

要点(1)鸿蒙手表 Watch GT2 Pro 已经上市

既然都已经上市了,所以相关的开发工具是最全面、最稳定的!

要点(2)Lite Wearable 既有本地的预览器,又有本地的模拟器

如果选择 Wearable 和 TV 这两个平台进行 App 的开发,目前华为还没有开放基于 X86 的本地模拟器,因此,需要将编写的代码发送到远程的 ARM 处理器以运行代码,在本机上只能预览运行结果,而无法在本机上运行和调试代码。

因此,就目前而言,Wearable 和 TV 这两个平台,给开发者的体验是相对不太好的。

但是,如果我们选择 Lite Wearable 这个平台,那就不一样了,既可以使用本机的预览器 Previewer 来预览代码的运行效果,也可以使用本机的模拟器 simulator 来运行和调试代码,因此,就目前而言,Lite Wearable 这个平台给开发者的体验是最棒的!

04

开发 Lite Wearable 的 App,可以使用的编程语言有哪些?支持 Python、C# 或 C++ 吗?

要点(1)作为第三方开发者,开发 Lite Wearable 的 App,只能使用编程语言 JavaScript。

开发 Wearable 的 App,可以使用的编程语言有:JavaScript、Java。

开发 TV 的 App,可以使用的编程语言有:JavaScript、Java。

开发手机的 App,可以使用的编程语言有:JavaScript、Java。

短期内,对于第三方开发者,不会支持其它编程语言,包括:Python、C#、C++、等等。

要点(2)对于鸿蒙手表 Watch GT2 Pro 中预装的 App,华为内部的工程师在开发时还可以使用编程语言 C++。

C++ 只供华为内部的工程师使用,目前没有对第三方开发者开发,以后是否会开放,还要看鸿蒙团队的考量。

05

老师在直播中有提到:鸿蒙对 HTML、CSS 和 JavaScript 做了很多裁剪和优化,具体做了哪些裁剪和优化呢?

目前官方还没有发布一个完整详细的 list,来说明具体做了哪些裁剪和优化。

如果有 Web 前端开发的经验,可以阅读开源框架 ace_lite_jsfwk 的源代码,这是一个轻量级的 JS 核心开发框架,地址为:https://gitee.com/openharmony/ace_lite_jsfwk

06

在 JS 代码中调用文件存储或数据存储相关的 API 时,只能"写"数据,而无法"读"数据,请问如何操作才能读到数据呢?

这是预览器 Previewer 和模拟器 simulator 的一个 bug,我已经将这个 bug 反馈给官方,官方会在本月中旬发布一个新版本以修复该 bug。

07

当把编译之后的签名 hap 包安装到鸿蒙手表 Watch GT2 Pro 之后,在预览器或模拟器看到的页面显示效果,与在真机看到的显示效果并不是完全一致的,请问如何解决才能让两者有一致的显示效果?

这是预览器 Previewer 和模拟器 simulator 的一个 bug,我已经将这个 bug 反馈给官方,官方会在本月中旬发布一个新版本以修复该 bug。

08

老师共享的 2048 游戏代码中,对于 index.hml 中的组件 canvas,在 canvas 的下方显示了一个红色的波浪线,把鼠标放上去,提示说:是一个未知的组件,这是什么原因呢?

目前,官方还没有正式 release 组件 canvas,因此在其下方会显示一个红色的波浪线,但是,并不影响代码的运行。

之前共享给大家的 2048 游戏代码,仍然是可以正常运行在预览器或模拟器中的。

因为组件 canvas 还没有正式 release,所以,之前共享给大家的2048游戏代码,无法正常运行在鸿蒙手表 Watch GT2 Pro 中。

为此,这里再为大家提供一份 2048 的游戏代码(可以到附件中下载)。

该代码没有使用组件 canvas,而是采取另外一种实现思路:当滑动时,去更换 16 个格子的背景色、数字以及数字的颜色。因为该份代码中大量使用了动态绑定,所以导致手表的内存占用较大,近乎接近临界值,因此,最好是能对该份代码再做一些优化。

这篇关于鸿蒙应用调测助手,想不到吧,鸿蒙上可以开发小游戏了!的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/381127

相关文章

Spring Boot集成/输出/日志级别控制/持久化开发实践

《SpringBoot集成/输出/日志级别控制/持久化开发实践》SpringBoot默认集成Logback,支持灵活日志级别配置(INFO/DEBUG等),输出包含时间戳、级别、类名等信息,并可通过... 目录一、日志概述1.1、Spring Boot日志简介1.2、日志框架与默认配置1.3、日志的核心作用

Python标准库之数据压缩和存档的应用详解

《Python标准库之数据压缩和存档的应用详解》在数据处理与存储领域,压缩和存档是提升效率的关键技术,Python标准库提供了一套完整的工具链,下面小编就来和大家简单介绍一下吧... 目录一、核心模块架构与设计哲学二、关键模块深度解析1.tarfile:专业级归档工具2.zipfile:跨平台归档首选3.

使用IDEA部署Docker应用指南分享

《使用IDEA部署Docker应用指南分享》本文介绍了使用IDEA部署Docker应用的四步流程:创建Dockerfile、配置IDEADocker连接、设置运行调试环境、构建运行镜像,并强调需准备本... 目录一、创建 dockerfile 配置文件二、配置 IDEA 的 Docker 连接三、配置 Do

深入浅出SpringBoot WebSocket构建实时应用全面指南

《深入浅出SpringBootWebSocket构建实时应用全面指南》WebSocket是一种在单个TCP连接上进行全双工通信的协议,这篇文章主要为大家详细介绍了SpringBoot如何集成WebS... 目录前言为什么需要 WebSocketWebSocket 是什么Spring Boot 如何简化 We

Java Stream流之GroupBy的用法及应用场景

《JavaStream流之GroupBy的用法及应用场景》本教程将详细介绍如何在Java中使用Stream流的groupby方法,包括基本用法和一些常见的实际应用场景,感兴趣的朋友一起看看吧... 目录Java Stream流之GroupBy的用法1. 前言2. 基础概念什么是 GroupBy?Stream

python中列表应用和扩展性实用详解

《python中列表应用和扩展性实用详解》文章介绍了Python列表的核心特性:有序数据集合,用[]定义,元素类型可不同,支持迭代、循环、切片,可执行增删改查、排序、推导式及嵌套操作,是常用的数据处理... 目录1、列表定义2、格式3、列表是可迭代对象4、列表的常见操作总结1、列表定义是处理一组有序项目的

PyQt5 GUI 开发的基础知识

《PyQt5GUI开发的基础知识》Qt是一个跨平台的C++图形用户界面开发框架,支持GUI和非GUI程序开发,本文介绍了使用PyQt5进行界面开发的基础知识,包括创建简单窗口、常用控件、窗口属性设... 目录简介第一个PyQt程序最常用的三个功能模块控件QPushButton(按钮)控件QLable(纯文本

C#中的Converter的具体应用

《C#中的Converter的具体应用》C#中的Converter提供了一种灵活的类型转换机制,本文详细介绍了Converter的基本概念、使用场景,具有一定的参考价值,感兴趣的可以了解一下... 目录Converter的基本概念1. Converter委托2. 使用场景布尔型转换示例示例1:简单的字符串到

Spring Boot Actuator应用监控与管理的详细步骤

《SpringBootActuator应用监控与管理的详细步骤》SpringBootActuator是SpringBoot的监控工具,提供健康检查、性能指标、日志管理等核心功能,支持自定义和扩展端... 目录一、 Spring Boot Actuator 概述二、 集成 Spring Boot Actuat

PyTorch中的词嵌入层(nn.Embedding)详解与实战应用示例

《PyTorch中的词嵌入层(nn.Embedding)详解与实战应用示例》词嵌入解决NLP维度灾难,捕捉语义关系,PyTorch的nn.Embedding模块提供灵活实现,支持参数配置、预训练及变长... 目录一、词嵌入(Word Embedding)简介为什么需要词嵌入?二、PyTorch中的nn.Em