Unity构建鸿蒙情况和直接发布鸿蒙应用
文章目录[*]
[*]概要
[*]团体架构流程
概要
Unity针对鸿蒙单独发布了团结的版本,现在最新版本是1.0.3,是基于Unity2022.3.2t6开发的,迩来准备适配一下鸿蒙的系统。
团体流程
1.现在的团结版本是1.0.3,去团结官网下载最新版本,还是通过Hub来安装,然后要下载OpenHarmony的发布模块。
https://img-blog.csdnimg.cn/direct/b6b5be79ac4649cc903d7c58131511a0.png
然后新建项目切换到OpenHarmony平台。
2.现在鸿蒙的平台Unity没有像安卓一样直接能下载支持的SDK,需要手动去指定
https://img-blog.csdnimg.cn/direct/dc5e9df16bf04c1f825dcc2ca679817c.png
取消这三个对钩的勾选,手动去指定打包需要的sdk
https://img-blog.csdnimg.cn/direct/721eac29e382413a9aed251c68c2fefd.png
3.一定要下载最新版本的OpenHarmony SDK。最方便的就是下载最新版本的DevEco Studio,
文档中央。但是官网最新的都是3.1.1,最高api是9,搭配团结1.0.3发布就会报错,后边会说具体报错的内容。后来从华为开发者同盟才找到4.0 release版本。下边是地址,也可以百度试试
OpenAtom OpenHarmonywidth=device-width,initial-scale=1.0https://csdnimg.cn/release/blog_editor_html/release2.3.6/ckeditor/plugins/CsdnLink/icons/icon-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
https://img-blog.csdnimg.cn/direct/88fb8019210c4ee092316fec6d410e7f.png
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版本的目录。
https://img-blog.csdnimg.cn/direct/4c4edca641a346209ad72801381925db.png
第二个问题,在团结是1.0.3,DevEco Studio是3.1.1。SDK的路劲都正确,直接发布会出现代码报错一样的错误 CommandInvokationFailure: Unable to execute shell to build hap. F:\UnityLearn\test/Temp/StagingArea\OpenHarmonyAppTemplate/hvigorw.bat --mode project -p product=default assembleApp -p debuggable=false --info --no-daemon
具体信息如图
https://img-blog.csdnimg.cn/direct/f89092aa4628410fb8f33bcf4741461b.png
一开始是以为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版本。
https://img-blog.csdnimg.cn/direct/4f26ec27998c40b8914779e04c0d95a7.png
还有就是代码的报错,看代码是方法名字都变了导致的报错,跟安卓的入口类一样,许多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 Library\Bee\artifacts\OpenHarmonyPlayerBuildProgram\lsia8\4ccsk17gvov5.o failed with output:等等好几条的差不多一样的错误,检察Editor.Log
https://img-blog.csdnimg.cn/direct/a3f9064d9bc843a98b02323c2fdd373d.png
不知道是不是团结的缓存还是什么bug,一定要这个路径下的10SDK,后来把SDK是10的文件复制过去就可以了,但是用API9就是打包不出来,会提示工程的SDK太低,export出来再出包也不行,就是让更新SDK这些,要APi大于大概等于10。
有知道这个是什么原因的大概现在API10发布出来.hap怎么真机测试的可以留言大概私信一下,谢谢了。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页:
[1]