用DevEco 2.2远程真机调试+Cocos Creator 3.2开发一个鸿蒙游戏

6.25新鲜出炉的DevEco 2.2 beta 提供了远程真机调试,而上周6.18发布的Cocos Creator 3.2 支持一键打包鸿蒙项目。

作为一个没有鸿蒙手机的游戏开发者,突发奇想,能否双剑合璧,用远程真机设备来开发鸿蒙游戏呢?

总个过程比预想的顺畅多了,没有遇到太多坑,推荐游戏开发者去体验一下鸿蒙的开发过程。

先放一张测试截图:

利用真机调试+Cocos Creator开发鸿蒙游戏详细步骤

1. 账号准备

2. 下载Cocos Creator 3.2

https://www.cocos.com/creator

3. 下载鸿蒙开发工具DevEco 2.2

https://developer.harmonyos.com/cn/develop/deveco-studio

4. 启动DevEco并下载鸿蒙SDK和NDK(必须)

要用Cocos Creator打包鸿蒙项目,需要安装鸿蒙Java SDK和Native SDK (也叫NDK)

启动后,打开设置界面,选择HarmonyOS SDK,或者通过SDK Manager,下载Harmony OS SDK。

5. 用Cocos Creator创建一个游戏

Cocos Creator 3.2提供了一个相对完整的游戏示例项目(Example Taxi Game),虽然有一些bug,但是不影响测试。
直接使用这个示例项目来创建游戏。

6. 在Cocos Creator中配置鸿蒙SDK并打包鸿蒙项目

回到Cocos Creator,打开Project->Build菜单

修改几个地方:

  • 1). Platform平台,选择 Harmony OS

  • 2). Game Package Name 游戏包名,这个很重要。

  • 3). 如果是首次打包,还需要设置鸿蒙SDK
    点击 Set Harmony OS SDK

配置 Harmony OS NDK和Harmony OS SDK

  • 4). 点Build进行打包
    首次打包会慢一些,因为需要编译Cocos引擎的代码。

7. 在华为商店创建一个项目,并添加鸿蒙应用

https://developer.huawei.com/consumer/cn/service/josp/agc/index.html#/myProject

添加项目

添加应用

注意,应用包名需要与Cocos项目中的Game Package Name一致。

如果不一致,也可以稍后在鸿蒙项目中修改bundle name(见下一步)。

8. 用DevEco 2.2打开鸿蒙游戏项目

Creator打包好的鸿蒙项目,目录跟其他平台的不一样,默认是 <cocos 项目>/native/engine/ohos
用DevEco的Open Project菜单打开这个目录。

检查ohos/entry/src/main/config.json中 app->bundleName是否与应用商店的应用包名一致。
如果不一致,修改成一致。

9. 连接远程真机设备

打开DevEco->Tools->Device Manager
根据提示登录华为开发者账号,并授权。

授权完毕后,返回DevEco,切换到Remote Device -> Phone 可以看到一台
Mate 40 Pro+ !!!

启动!

哒哒~~~~

对比一下p40模拟器

10. 利用DevEco自动生成打包证书

点这个按钮,打开Project Structure界面

勾选自动生成证书(Automatically generate signing)

如果商店后台设置正确,过一会以后,就会自动生成证书。

注意事项

  • 1). 每次连接新的远程真机,都需要重新生成证书。
    所以,自动生成证书真是太方便了!!!

  • 2). 如果出现无法保存的错误提示

则回到项目中,将项目中所有build.gradle中的signingConfigs字段都删掉,这些是Cocos Creator生成的项目中填写的Cocos的证书。

然后重新生成证书,就可以了。

11. 打包并运行

点击右上角的Run entry,打包并运行

过一会……
再过一会……
再过一会会……
然后……
就能看到Cocos的启动画面……
然后……
哒哒,老司机们,来开车吧~

几个问题

调试过程发现一些问题,但是都与鸿蒙无关:

  • 1). Cocos Creator提供的游戏示例,有非常多bug,这个真不是鸿蒙的问题。
  • 2). 远程真机调试有延迟,对于操作敏感的游戏,体验稍差。
  • 3). 远程真机调试的画面稍微有点渣。
  • 4). 断开真机重连的话,需要更新证书,因为可能连的不是上一个。

参考文档