Unity导出Android工程

码字不易,转载请注明出处喔
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一样。

  • 7
    点赞
  • 38
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

newchenxf

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值