码字不易,转载请注明出处喔
https://blog.csdn.net/newchenxf/article/details/121923158


前言

一个Unity游戏,要打包成android apk,有两种方式,一种是直接在Unity上编译出apk;一种是Unity导出android 代码,然后放到AndroidStudio工程编译。第一种很简单,本文不做展开,来聊一下第二种。本文基于Unity 2020.3.13f1c1版本来说明,不同的版本可能使用上稍微有点差异。

1 导出

首先,需要让工程支持arm v7和arm v8两种架构,否则在某些机型上,会运行失败。
做法如下:File -> Build Settings,打开面板后,左下角的Player Settings点击,出来后,在Configuration栏,做如下修改:

勾选好了, 关闭窗口。回到Build Settings界面。

选中Export Project, 然后点击右下角的Export。出来弹窗后,选择一个导出目录,就会开始导出。最后生成的是一个可以用AndroidStudio打开的工程,如下:

2 AndroidStudio打开

导出的工程,AndroidStudio是可以直接打开运行的。
当然了,还有一种情况,是你不想直接打开它的工程,想要手动迁移,那怎么做?

  1. unityLibrary 拷贝到你的工程下
  2. 把导出的gradle.properties的一些参数拷贝到你的工程的gradle.properties,尤其是unityStreamingAssets=.unity3d
  3. 把settings.gradle加上新的模块:即:加这一行:include ‘:app’,'unityLibrary'
  4. 把需要依赖Unity的模块,加上对unityLibrary的依赖:implementation project(path: ':unityLibrary')
  5. 把launcer模块下的res/values资源拷贝到你的app模块下,或者到unityLibrarys下,否则运行起来可能出现Resources#NoFoundException
  6. 手动迁移的话,默认activity就不是Unity了,你可以在你的默认activity(一般是app模块下),添加跳转逻辑,启动后,跳转到UnityPlayerActivity。
  7. 最后编译,就可以运行了。

3 可能出现的错误

3.1 编译时遇到Task :unityLibrary:BuildIl2CppTask FAILED run-detectors: unable to find an interpreter for ../il2cpp.exe
原因: 如果用linux版本的AndroidStudio打开,就会遇到上面的错误,原因是这个il2cpp是exe格式的,只能在windows运行,好吧,有点无奈,还不支持linux版本的AS工程。

3.2 armv7 和 armv8无法同时勾选
这个发生在第一步。
原因:
一种是你在前面第一步,没有选择IL2CPP。这个好解决。

还有一种,是你的Unity可能是先选择了PC,Mac…平台,然后手动修改了Android平台。切换后,虽然会帮你下载Android相关的SDK,但是不一定全。

所以你要做的,是下载全的Android SDK。

如下,Unity Hub,点击3个点,【添加模块】


勾选,然后点击完成。就可以安装Android依赖库了。

当然了,还有一种极端情况,就是打开后,这里显示已经下载好了。怎么办?????别害怕,那你就重新安装一个Unity版本,在安装之初,就把这个Android的编译依赖给弄好,再打开你的Unity工程,理论上应该就可以了!

3.3 勾选armv7和armv8,点击export,出现unity library missing for the selected architecture错误
原因: 和3.2一样,是Android SDK不全。解决办法和3.2一样。

Unity导出Android工程相关推荐

  1. Unity导出android工程的奇葩大坑

    事情经过 这是一个普通的夜晚,我像往常一样使用Unity导出Android 工程,一切如往常一样千篇一律,犹如平静的湖面,没有一丝涟漪.突然,Unity 显示的进度条顿了一下,这一顿犹如石子落入湖面, ...

  2. 魔镜VR导出Android工程

    一下是Unity的几张截图: main场景: 360VR场景: 导出场景: Unity导出Android工程后,先看一下导出的Android工程中的Manifest.xml文件,以下这个文件是必须保证 ...

  3. Unity2018导出Android工程并自行生成apk(总)

    https://docs.unity3d.com/2018.4/Documentation/Manual/android-gradle-overview.html 以下内容都是在unity2018.4 ...

  4. android工程引入unity,Unity导出Android Studio工程

    在出游戏包的时候,如果需要接入sdk,一般都不会直接在unity里操作,而是导出android工程,在android工程里操作,从unity5.3开始已经支持导出android studio工程,相比 ...

  5. Unity导出Android制作桌面宠物精灵需要背景透明

    项目场景: Unity制作小精灵导出后,嵌入Android页面中.要求整个APP页面只有一个Android页面背景,因此Unity需要背景透明.最后要求整个APP代码以SDK和API的方式提供给第三方 ...

  6. unity导出XCode工程

    1.切换到ios平台 2.修改unity的PlayerSetting 打开PlayerSetting,修改部分设置.其中BundelIdentifier和Version根据实际情况填写即可. 3.导出 ...

  7. MAC Unity导出iOS工程

    导出工程很简单,如图操作: 接下来最重要的就是Player Settings中的设置了,以下为具体每一项的说明,这个必须要仔细看和理解呀,否则运行编译一堆问题,还无处下手. 官网地址: https:/ ...

  8. unity导出android,可以显示出MMD模型,但是不能播放动作。求解答

    这是用unity结合MMD插件,做出来的效果.采用了MMD的模型和MMD的动作数据.我使用的是EasyAR 奇怪的是,在PC端显示正常,有音乐,动作也可以播放. 但是发布出android后,只能显示模 ...

  9. Mac下Android配置及unity3d的导出Android

    昨晚实在弄的太晚了,费尽脑汁才弄出来. ok,关于mac下的eclipse的安卓配置,我仅仅贴一个网址,就ok了 http://developer.android.com/sdk/index.html ...

最新文章

  1. python生成饼图文件_python使用HTMLTestRunner导出饼图分析报告的方法
  2. 伪官宣:Envoy 中文指南新鲜出炉
  3. Java B2B2C o2o多用户商城 springcloud架构 (六)分布式配置中心(Spring Cloud Config)
  4. java中实现十六进制和十进制之间的转换
  5. 分布式文件系统研究-什么是分布式文件系统
  6. OpenCV 中文wiki
  7. ATEN—第九章OSPF多区域的配置
  8. OC语言Block 续
  9. 将AX寄存器中的16位数据分成4组(从高到低),每组4位,然后把这4组数作为数当中的低4位分别放在AL,BL,CL,DL中。
  10. Deep Alignment Network(人脸对齐)
  11. golang 所有进程休眠_Golang基础--常见坑
  12. 不断被刷新的未来——读文档有感
  13. 012 Ceph多区域网关
  14. 金盾播放器android安卓,金盾跨平台视频加密系统
  15. Java面试之Java集合5——HashMap的底层实现
  16. ios 隔空投安装ipa_iOS App 在线安装 .IPA文件
  17. 硕士毕业论文页眉页脚页码设置
  18. 转正申请书,要如何写啊?
  19. Python爬虫大众点评字体加密评论采集!听说这个网站很难?
  20. 计算机组装如何配置更好更便宜,电脑组装越贵越好?小白DIY组装电脑的几个误区...

热门文章

  1. Musical Composition Style Transfer via Disentangled Timbre Representations论文阅读
  2. 360签名工具 linux,360apk签名工具-360apk签名工具(qihoo360 apk signer) 1.0 免费版 - 河东下载站...
  3. html用户名和密码不能为空,【JS】判断用户名和密码是否为空
  4. 餐饮点餐外卖小程序软件开发
  5. Lazada店铺运营--提升销量的核心技巧及店铺前期运营规划
  6. 快递鸟Java 接入
  7. oracle创建实例
  8. 学习笔记:Unity CustomSRP-17-FXAA
  9. opencl编程指南
  10. 西安交大轴承加速寿命实验数据