将Unity作为库集成到原⽣应⽤中:Android篇
本⽂档说明了如何通过Activity将Unity作为库纳⼊标准Android应⽤程
序。您可以阅读有关Unity作为库的了解更多信息。
开发环境要求:
• Android Studio 3.4.2以上
• Unity版本2019.3.0+
1.项⽬资源准备
◦ Unityproject-使⽤Unity开发的项⽬。在Plugins/Android⽬
录下放⼊.java⽂件,⽅便Unity于android进⾏通讯;
◦ NativeAndroidApp-这是Android Studio开发的原⽣应⽤程
序,我们将在其中集成Unity项⽬。
2.将Unity项⽬导出Android Gradle项⽬
• 在Unity编辑器中打开UnityProject
• 转到“构建设置”窗⼝(菜单/File/BuildSettings)
◦ 选择并切换到Android平台
◦ 选择选项“导出项⽬”
◦ 将UnityProject导出到androidBuild⽂件夹,⽂件夹结构应
如下所示:
3.将Unity库模块添加到NativeAndroidApp中
执⾏以下操作,以将导出的androidBuild / unityLibrary模块添加到
Android Studio中的NativeAndroidApp Gradle项⽬中:
• 在Android Studio中打开NativeAndroidApp
• 打开settings.gradle⽂件
◦ 在⽂件末尾添加⼀个指向unityLibrary模块的项⽬⽬录:
• include ':unityLibrary'
• project(':unityLibrary').projectDir=new File('..\
\UnityProject\\androidBuild\\unityLibrary')
•
• 打开build.gradle(Module:app)⽂件
◦ 在依赖性{块中添加以下内容
• implementation project(':unityLibrary')
• implementation fileTree(dir:
project(':unityLibrary').getProjectDir().toString() + ('\
\libs'), include: ['*.jar'])
•
• 打开build.gradle(Project:NativeAndroidApp)⽂件
◦ 在所有项⽬{repositories {块中添加以下内容
• flatDir {
• dirs "${project(':unityLibrary').projectDir}/libs"
• }
•
• 由于Gradle⽂件已被修改,因此单击⽴即同步以进⾏项⽬同
步
• 如果⼀切顺利,您应该会在Android视图中看到unityLibrary模
块 。注意,如果你的环境配置不满⾜条件,build时会去请求下
载对应的模块,此过程可能需要链接梯⼦。完成后效果如下:
项⽬准备就绪
⼀切准备就绪,可以构建,运⾏和调试: 如果⼀切成功,那么此时
您应该能够运⾏NativeAndroidApp:
备注
• Unity在另⼀个进程android:process =“:Unity”(应⽤模块中
的AndroidManifest.xml)中运⾏
原⽣界⾯
Unity已加载并在单独的
Activity中运⾏。中间的浅灰
⾊按钮是从
NativeAndroidApp中实现的
MainUnityActivity添加的
• 安装后,设备上将出现两个图标。如果想仅保留主要 activity的
图标,请从unityLibrary中的AndroidManifest.xml中删除unity的
activity。
• (可选)我们发现⼀些Android 7. *设备将活动的frontOfTask设
置为错误状态,从⽽导致在完成/退出Unity活动时整个任务进⼊
后台,⽽不是返回Main activity。保持预期⾏为的解决⽅法:在
NativeAndroidApp下的MainUnityActivity.java中,添加如下代
码:
• @Override public void onUnityPlayerQuitted()
{ showMainActivity(""); finish(); }
转载注明出处:
2020.4 @U3DC.COM by Mark
在“关于我”页面添加公众号,回复unity库获取源码。
博主公众号:优三帝