Unity构建鸿蒙环境和直接发布鸿蒙应用

文章目录

概要

   Unity针对鸿蒙单独发布了团结的版本,现在最新版本是1.0.3,是基于Unity2022.3.2t6开发的,最近准备适配一下鸿蒙的系统。

整体流程

1.现在的团结版本是1.0.3,去团结官网下载最新版本,还是通过Hub来安装,然后要下载OpenHarmony的发布模块。

然后新建项目切换到OpenHarmony平台。

2.现在鸿蒙的平台Unity没有像安卓一样直接能下载支持的SDK,需要手动去指定

取消这三个对钩的勾选,手动去指定打包需要的sdk

3.一定要下载最新版本的OpenHarmony SDK。最方便的就是下载最新版本的DevEco Studio,

文档中心。但是官网最新的都是3.1.1,最高api是9,搭配团结1.0.3发布就会报错,后边会说具体报错的内容。后来从华为开发者联盟才找到4.0 release版本。下边是地址,也可以百度试试

OpenAtom OpenHarmonywidth=device-width,initial-scale=1.0icon-default.png?t=N7T8https://docs.openharmony.cn/pages/v4.0/zh-cn/release-notes/OpenHarmony-v4.0-release.md/#%E9%85%8D%E5%A5%97%E5%85%B3%E7%B3%BB

最新版本可以看到api10,而且api也对比3.1.1版本升级了。还是参考DevEco Studio的文档安装完成,然后下载api10的sdk

DevEco Studio是自己开始就会安装node.js,版本是16的,安装完成的目录下还会自带openjdk,

所以只需要下载安装完成DevEco Studio,Unity需要的三个打包工具就都有了,指定目录就可以直接build出来.hap了。

下边是发布过程中遇到的问题

第一个问题,DevEco Studio的SDK有两个,一个是HarmonyOS,一个是OpenHarmony。后来看了介绍前者是华为封装了一层,适配华为的设备,后者才是开源的鸿蒙。刚开始选择的是第一个,但是发布后会提示缺少一个json文件报错,一定要下载Native这个sdk,因为默认是不勾选的。不管是HarmonyOS还是OpenHarmony,api里面的5个都下载完选哪个就都可以了。在Unity上选择路径要选择到api版本的目录。

第二个问题,在团结是1.0.3,DevEco Studio是3.1.1。SDK的路劲都正确,直接发布会出现代码报错一样的错误 CommandInvokationFailure: Unable to execute shell to build hap. F:UnityLearntest/Temp/StagingAreaOpenHarmonyAppTemplate/hvigorw.bat --mode project -p product=default assembleApp -p debuggable=false --info --no-daemon

具体信息如图

一开始是以为nodejs版本不对,下载了最新的21的,16的,都不行,jdk用团结下载的安卓的,17版本的也不行。

直接把工程export出来,用DevEco打开来也会报错,先是hvigor版本不对。可以看到现在的版本,团结1.0.3export出来的是3.0.9,但是DevEco直接建的工程是2.4.2,跟安卓的gradle很像,而且点升级也没用,升不上去,现在这个DevEco Studio最高支持的就是2.4.2。后来下载了团结1.0.0版本,这个时候看到hvigor版本是2.0.0,看DevEco Studio的文档可以看到每个版本支持的hvigor版本。

还有就是代码的报错,看代码是方法名字都变了导致的报错,跟安卓的入口类一样,很多TuanjiePlayerAbility.ts中的代码都不对。

所以后来下载了DevEco的4.0版本,这个时候会提示api9升级这些的,还有了api10,再使用这些sdk来打包才打包成功。

第三个问题,鸿蒙的.hap打出来,但是却没有真机或者模拟器能调试,安装不上,现在最新的鸿蒙手机和模拟器都是只有API9的。

想着团结1.0.3才开始支持API10,那1.0.2用API9来打包,用DevEco Studio V3.1 Beta2版本下载SDK来使用是不是可以。然后用团结1.0.2export的时候直接报错了Building LibraryBeeartifactsOpenHarmonyPlayerBuildProgramlsia84ccsk17gvov5.o failed with output:等等好几条的差不多一样的错误,查看Editor.Log

不知道是不是团结的缓存还是什么bug,一定要这个路径下的10SDK,后来把SDK是10的文件复制过去就可以了,但是用API9就是打包不出来,会提示工程的SDK太低,export出来再出包也不行,就是让更新SDK这些,要APi大于或者等于10。

有知道这个是什么原因的或者现在API10发布出来.hap怎么真机测试的可以留言或者私信一下,谢谢了。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码
< <上一篇
下一篇>>