Unity导出Android工程

这篇具有很好参考价值的文章主要介绍了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栏,做如下修改:
Unity导出Android工程
勾选好了, 关闭窗口。回到Build Settings界面。

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

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
    Unity导出Android工程
  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,但是不一定全。
Unity导出Android工程
所以你要做的,是下载全的Android SDK。

如下,Unity Hub,点击3个点,【添加模块】
Unity导出Android工程

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

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

3.3 勾选armv7和armv8,点击export,出现unity library missing for the selected architecture错误
原因: 和3.2一样,是Android SDK不全。解决办法和3.2一样。文章来源地址https://www.toymoban.com/news/detail-481137.html

到了这里,关于Unity导出Android工程的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Unity3D2020+导出Android工程中使用并交互

    , 目录 1,版本信息 2,前期准备 Unity方面: Android方面: 3,Android与Unity3D交互 unity2020+ android studio 2021 *不要用android studio 2020系列,存在不能导入Library的bug 1,先配置打包的一些必要要素,包括包名之类 2,修改打包选项,将其打包为Android工程  3,打包出来的工程如下,其中

    2023年04月08日
    浏览(64)
  • Unity与原生交互之AndroidStudio篇——Unity导出Android工程,导入AndroidStudio打包APK全流程

          unityLibrary: unity的功能库模块 , android工程用到的重要文件夹 launcher: unity的启动器模块,包含很少的java代码   直接Open unity导出的整个android项目,Launcher模块作为app启动模块  1.AS先New一个空项目:   Empty Activity 不能选择Language,默认为Kotlin语言  Empty Views Activity 可以选择

    2024年02月11日
    浏览(44)
  • Unity导出安卓工程并新建activity用于放置隐私协议

    1.现在unity里导出安卓工程 2.用Android Studio,打开导出的工程 点击Open打开,这不用说了吧 3.右键新建一个empty Activity 4.替换这里为Activity 5.打开这个布局文件 6.点开design,自己搞下布局,这里我只是举个例子,大概这样 点开code,粘贴这段代码,就能得到一个跟我一样的界面

    2024年02月07日
    浏览(43)
  • Unity导出WebGL工程,并部署本地web服务器

    在Build Settings-PlayerSettings-Other Settings-Rendering 将Color Space 设置为Gamma 将Lightmap Encoding 设置为NormalQuality 在Build Settings-PlayerSettings-Publishing Settings 勾选Decompression Fallback 完成配置修改之后,可以直接在Build界面选择Build And Run,构建结束后会由Unity自动部署,可以正常打开网页。 如果

    2023年04月19日
    浏览(53)
  • Unity如何保存场景,如何导出工程文件/如何查看保存位置?【各版本通用】

    下图,保存场景不在Scenes文件夹下: 下图,保存在Scenes文件夹下: 下图,保存完成 下图,是具体步骤演示:

    2024年02月05日
    浏览(43)
  • Unity 导出android后android12以上黑屏问题

    其实这个是前两年就遇到过的问题。 基本上是权限问题引起的。 android10以上手机是需要手动获取一些敏感权限,unity2018以前的版本没有适配,导出的android工程在没有手动获取权限的情况下会黑屏卡住。 那么需要哪些权限呢? 那就是【READ_PHONE_STATE】 ,在androidmanifest里添加这

    2024年02月11日
    浏览(36)
  • Unity导出Android项目踩坑记录

    如果unity的ndk版本和android项目里的ndk版本不一致会报错,让人很崩溃的 谷歌市场不支持64位arm不让通过审核,单纯的配置ndk:

    2024年01月21日
    浏览(54)
  • Unity ARFoundation 配置工程 (Android)

    注意: 1、AR Core是Google的产品,因为谷歌制裁华为,所以 有些 华为机可能不支持AR Core的软件; 2、手机在设置里搜索Google Play,看看是否已经安装上了,如果没有装此服务,去商城里搜索Google Play,安装到手机上,如果商城里搜不到,就去网上下载一个Google Play装到手机上(

    2024年02月13日
    浏览(26)
  • Unity Android Studio 混合开发实践(Unity工程导入Android项目进行开发)

    最近接到一个任务是将一个unity开发的游戏接入到现有的Android项目里,然后在现有的App实现点击一个按钮打开游戏,并且在游戏内提供一个可以退出到App的按钮。 整体需求是很明确的,难点主要有两个: 我们公司是做应用开发的,没有任何游戏开发的技能储备。 在游戏中需

    2024年02月11日
    浏览(62)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包