Android集成Unity(二)

前言

上一篇给大家分享了Android集成Unity,但那一篇解决的是Unity采用mono打包,但Unity到了2020及以上版本时,官方都是推荐il2cpp打包,所以这一篇就补上之前那一篇的短板

演示效果

Android与Unity页面反复切换,无闪退

开发环境

Android端: Android Studio(各大版本都可以,区别不大)

Unity端: Unity3D(各大版本都可以,区别不大)

一. 创建Unity项目并打包

1. 创建Unity项目

2. Unity构建项目配置

创建Unity项目后,先不对Unity场景做任何操作,调整打包平台除外

点击左上角 File ------> 点击Build Settings ------> 点击Add Open Scenes ------> 点击Android ------>勾选Export Project ------> 点击Switch Platform

3. Android环境相关配置

打包Android相关的东西都是要配置好Java环境,配置好AndroidSDK,再使用Gradle工具进行构建,Unity也不例外

3.1 点击Unity左上角Edit------>Preferences,弹出如下图

如果你下载Unity没有问题的话,JDK,Android SDK,Android NDK,Gradle这些路径按照默认的设置

小编建议大家下载Unity时SDK尽量和Android Studio的SDK版本一致,这样可以减少很多不必要的版本差异问题

3.2.1 点击Unity左上角Edit------>点击Project Settings,弹出窗口如下:

3.2.2 点击Player------>点击Other Settings,操作如下图:

4. 导出Unity项目文件

点击左上角File------> Build Settings------> Export

打包进度条结束后,弹出如下文件夹

如果打包出来的Android项目和上图不一致,那可能是打包平台不同或者Unity的版本差异较大,到此为止,Unity打包出来的Android项目就完成了,接下来小编带大家将Unity项目嵌入到Android Studio中

二. 将Unity集成到Android中开发

1. Android Studio打开Unity项目

用Android Studio打开刚刚导出的Unity项目,操作如下:

接下来便弹出弹窗

然后再弹出一个弹窗

2. Android Studio调整环境配置

对了,突然想起,文件名尽量不取中文,所以我改了个名字TextDemo(Unity打包项目 改为 TextDemo)

如下图所示,可以看到Android Studio打开刚刚的Unity项目后出现了报错,没事,这是因为Unity与Android Studio配置的差异,我们只需增加一行设置即可

3. 调整Unity项目配置

在Android API 31以上,Manifest中需要显示声明Launcher Activity的Android:exported属性

4. Unity项目编译成aar

接下来如下图操作:

5. Android集成Unity

新建一个Android项目,项目名随意,不影响,将上一个编译出来的aar放入到此项目的lib中,如图所示:

修改AndroidManifest,如下图所示:

添加字符串配置,如图所示:

在build.setting修改一下引用,如下图所示:

到此为止,Android集成Unity就结束了,然后就可以跑在真机上运行了,记住一定要跑真机哦,因为刚刚我们在Unity打包时没有勾选模拟器

注意事项

Unity 页面必须使用单独进程,否则在退出时,程序会崩溃,因为Unity退出时会杀死Android进程

java 复制代码
android:process=":unity"

要是有疑问大家可以加我微信详聊 yf1553653788,下一篇再给大家分享 Flutter与Unity之间的通信;

相关推荐
&岁月不待人&9 小时前
⏺ Android 录屏缩放异常排查:Pixel 3 XL 上的完美风暴
android
a3158238069 小时前
Android 大图显示策略优化显示(一)
android·算法·图片加载·大图片
tangweiguo030519879 小时前
从零开始:在 Windows 上使用命令行编译 Android .so 动态库(NDK + CMake + Ninja)
android
阿波罗尼亚9 小时前
Tcp SSE Utils
android·java·tcp/ip
知行合一。。。13 小时前
Python--03--函数入门
android·数据库·python
大、男人14 小时前
python之contextmanager
android·python·adb
不法16 小时前
java查看安卓证书信息
android
儿歌八万首16 小时前
Jetpack Compose 动画实战:让你的 UI 动起来
android·kotlin·动画·compose
千里马学框架17 小时前
如何改进车载三分屏SplitScreen启动交互方式?
android·智能手机·分屏·aaos·安卓framework开发·车载开发·3分屏
REDcker18 小时前
Android WebView 版本升级方案详解
android·音视频·实时音视频·webview·js·编解码