赞
踩
最近这段时间公司内闷着头想把Unity干入Native项目,早在16年初的时候,那时候也是闲的蛋疼,曾经跑通了安卓和iOS的Unity做为库集成到Native项目的流程,后来加入新公司,又基于2018版的Unity集成过一次,iOS用PBX脚本方式集成的,Android是自己写的Copy脚本完成的,最近发现2019.3Unity已经完美支持了Unity as a Library,所以尝试了一下,里面还是又很多坑,不过磨磨时间都是可以FIX的。
官方文档环境依赖
实操环境
操作步骤
Step.1
Step.2
Step.3
- include ':unityLibrary'
- project(':unityLibrary').projectDir = new File('..\\UnityProject\\androidBuild\\unityLibrary')
- dependencies {
- implementation project(':unityLibrary')
- implementation fileTree(dir: project(':unityLibrary').getProjectDir().toString() + ('\\libs'), include: ['*.jar'])
- // 自己项目的配置
- }
- allprojects {
- repositories {
- google()
- jcenter()
-
- // Add Code
- flatDir {
- dirs "${project(':unityLibrary').projectDir}/libs"
- }
- // End
- }
- }
- <resources>
- <string name="app_name">NativeAndroidApp</string>
- <string name="action_settings">Settings</string>
- // Add Code
- <string name="game_view_content_description">Game view</string>
- // End
- </resources>
解决方案事例
限制(谁有新发现可补充或者移除)
包体(粗略计算)
Android 空工程包体如下 2.2M:
Unity IL2CPP ARM64 & V7a 空工程包体如下 9.87M & 9.12M:
Unity Into Android 空工程包体如下 22.9M:
性能 - 内存
跑在同一进程(资源不能完全释放)
跑在不同进程(资源可以完全释放)
消息传递(用例后续有时间补齐)
安卓 & U3D 交互
官方文档(有部分坑,建议按照上面的流程操作)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。