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之间的通信;

相关推荐
网安Ruler38 分钟前
代码审计-PHP专题&原生开发&SQL注入&1day分析构造&正则搜索&语句执行监控&功能定位
android
paid槮2 小时前
MySql基础:数据类型
android·mysql·adb
用户2018792831674 小时前
AMS和app通信的小秘密
android
用户2018792831674 小时前
ThreadPoolExecutor之市场雇工的故事
android
诺诺Okami4 小时前
Android Framework-Launcher-InvariantDeviceProfile
android
Antonio9155 小时前
【音视频】Android NDK 与.so库适配
android·音视频
sun00770014 小时前
android ndk编译valgrind
android
AI视觉网奇15 小时前
android studio 断点无效
android·ide·android studio
jiaxi的天空15 小时前
android studio gradle 访问不了
android·ide·android studio
No Silver Bullet16 小时前
android组包时会把从maven私服获取的包下载到本地吗
android