Unity构建Android APK原理与Android Studio集成

这是本人近期将unity项目模型导入到Android的学习经验的一个总结。

1.unity导出Android工程

将unity项目导入到Android,首先要在unity内导出一个Android工程文件

android apk build unity 原理 unity android studio_android-studio

一般情况下就是勾选Export Project,然后导出就行。如果还有其他要求或者配置可以在左下角Player Settings进行配置等。unity这方面我没有特别深入的学习,大家可以搜索查阅一下资料。

(我这边使用的是之前unity官网的例子的unity项目,这个官方例子在B站上有博主的视频教学。资源我放在下面:

将Unity用作Android应用中的库
github地址:https://github.com/Unity-Technologies/uaal-example
论坛地址:https://forum.unity.com/threads/integration-unity-as-a-library-in-native-android-app-version-2.751712/ )

导出的unity项目文件大致是这样的:

android apk build unity 原理 unity android studio_Android_02

2.Android创建、unity导入

(1)首先新建一个Android项目

android apk build unity 原理 unity android studio_unity3d_03

包名Package name跟unity的包名设置成一致,unity包名一般是com.unity3d.player。包名不一致的话,我试过也可以实现,但是在调用的时候要指明包,容易混淆,可能还有其他的一些问题,个人也不是很清楚。推荐保持一致,避免麻烦。Android项目名Name等随意。

android apk build unity 原理 unity android studio_android_04

2)将unity项目以Module的方式导入Android。

android apk build unity 原理 unity android studio_android_05

(3)选择unityLibrary导入。点击Finish。

android apk build unity 原理 unity android studio_android_06

(4)导入之后,为Android添加unityLibrary的引用。

左上角File——>Project Structure...

android apk build unity 原理 unity android studio_android-studio_07

选择Dependencies  ——>  app ,然后点击右边这个加号 + ,选择第三个Moudule Dependency

android apk build unity 原理 unity android studio_unity_08

勾选刚刚导入的unity,点击OK。再点击上图的OK。

android apk build unity 原理 unity android studio_Android_09

(5)配置 Android 以及 unity 的 build.gradle 文件。

将SDK配置成当前Android版本可以运行。Android 以及unity的SDK确保要一样,不然会报错,比如这个minsdk。Build无误就算是导入完成了!

android apk build unity 原理 unity android studio_Android_10

3.Android  启动运行 unity

(1)在unity的AndroidMainfest.xml文件

把<intent-filter>-->删掉或者注释掉,留着的话,当我们把程序运行到手机或者模拟机上时会有两个图标。

其次是在<activity>里加入这行代码,实现多线程,避免在从unity返回Android时也将Android界面也结束了。

登录后复制

android:process=":raadidcard"

android apk build unity 原理 unity android studio_Android_11

在app的AndroidMainfest.xml文件里,在图中位置加入这两行代码:

登录后复制

xmlns:tools="http://schemas.android.com/tools"




登录后复制
tools:replace="android:icon,android:theme,android:allowBackup"

android apk build unity 原理 unity android studio_android_12

(2)之后在app的build.gradle里加入这行代码。

登录后复制

ndk {
            abiFilters 'armeabi-v7a'
        }
        

android apk build unity 原理 unity android studio_unity3d_13

其次在app的main->res->values->strings.xml里加入这行代码。

登录后复制

<string name="game_view_content_description">Game view</string>

android apk build unity 原理 unity android studio_unity_14

进行这两步操作的原因是,我在运行到手机时,他显示硬件不支持或者闪退。加入上面两个代码后就可以正常启动unity。

android apk build unity 原理 unity android studio_unity_15

(3)点击按钮启动unity

       在主工程的activity_main.xml 文件里添加一个按钮。MainActivity.java 里加入启动事件,如果在这里layout标红的话,就把鼠标移到layout下面,建立一个layout就行,我分析是主工程的问题,这个影响不大。

android apk build unity 原理 unity android studio_android-studio_16

android apk build unity 原理 unity android studio_android-studio_17

4.启动运行

android apk build unity 原理 unity android studio_unity_18

android apk build unity 原理 unity android studio_Android_19


免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删

QR Code
微信扫一扫,欢迎咨询~

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 155-2731-8020
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

手机不正确

公司不为空