程序丨如何在一个原生的安卓应用程序中嵌入Unity?
译者:王磊(未来的未来)
审校:崔嘉艺(milan21)
在这篇文章中,我的目的是帮你节省一些时间(我假设你拥有Unity和安卓开发所需要的基本知识),并且将引导你通过这些步骤来完成这个项目。这篇文章的主要想法是将一个Unity项目作为原生安卓应用程序中的一个库。 抓紧了,我们要开始了。
第1步:创建一个Unity项目
打开Unity桌面应用程序并创建一个新的项目。(我在Unity 5.5.0f3上工作,但这些步骤应该可以在任何版本上都能工作)。按照你喜欢的方式在Unity中进行工作。
第2步:支持安卓的回退按钮
添加一个对象,并附加下面的这个脚本。在unity的项目里,默认情况下不支持安卓的后退按钮。所以让我们来添加一个脚本来支持安卓的后退按钮。
第3步:导出你的项目
文件→构建设置。
选择你的场景。
在平台部分选择安卓平台。
将纹理更改为ETC2格式
将构建系统更改为Gradle构建。
单击玩家设置按钮→在检视器选项卡→其他设置中,将包的名称添加到“包标识符”的下面(请参见下图)。
标记导出,并进行导出。
这将导出你的Unity项目,让它成为一个安卓项目。
第4步:将这个项目导入到Android Studio
文件→新建→导入项目→选择在步骤3中进行导出的文件夹。
如果Android Studio要求更改该项目以选择gradle构建方式,那么选是。
第5步:将该项目转换为库项目
打开清单文件并删除/注释掉有关intent的代码,我们不希望这个应用程序像应用程序一样运行,而是希望它像库一样运行。
打开模块的gradle文件,定位到下面这一行:
并修改为:
构建这个项目,并将aar文件放在一边。aar文件应该位于这个位置上:PROJECT_FOLDER\build\outputs\aar。
第6步:构建你的原生安卓应用程序,并使用上面的aar文件作为库
l 创建你的原生安卓应用程序。
l 向上方的aar文件添加一个新的模块:
文件→新建模块→导入JAR / AAR软件包,并选择你的aar文件。
确保在settings.gradle文件中有如下一行:
在你的主模块(应用程序)中添加一个依赖关系。
同步gradle。
第7步:如果需要的话,解决gradle的“合并”问题
在步骤6最后的地方,如果你像我要求的那样同步gradle的话,你可能会收到下面这样一个合并错误:
这是因为合并会试图使用库的图标和主题。不要害怕,我在这里来帮助你:),添加如下代码到你主要的原生应用程序的清单文件中,告诉合并使用这个清单的图标和主题而不是其他库的图标和主题。
将下面这行代码添加到清单文件的tag里面。 xmlns:tools="http://schemas.android.com/tools"
adding to the application 将下面这行代码添加到应用程序的tag里面。tagtools:replace="android:icon,android:theme"
再次构建你的项目。
第8步 : 调用UnityPlayer Activity
请注意,对后退按钮的支持(步骤2)有点棘手。在Unity的C#脚本中,Application.Quit()会关闭UnityPlayerActivity以及调用它的Activity(这个太糟糕了),所以为了处理它,创建一个中空的活动,在onCreate()中调用UnityPlayerActivity的intent,像下面代码这样。
哦,就是这样了。 虽然很长,但是它可以正常工作。
【版权声明】
原文作者未做权利声明,视为共享知识产权进入公共领域,自动获得授权。
----------------------
今日推荐
添加小编微信,可享双重福利
1.加入GAD程序猿交流基地
获取行业干货资讯,观看大牛分享直播
2.领取60G独家程序资料库,地址在小编朋友圈
包括腾讯内部分享、文章教程、视频教程等全套资料
↓长按添加小编GAD苏苏↓