(转)Unity导出Android工程

news/2024/4/16 2:06:25

码字不易,转载请注明出处喔
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是可以直接打开运行的。
当然了,还有一种情况,是你不想直接打开它的工程,想要手动迁移,那怎么做?

把unityLibrary 拷贝到你的工程下
把导出的gradle.properties的一些参数拷贝到你的工程的gradle.properties,尤其是unityStreamingAssets=.unity3d
把settings.gradle加上新的模块:即:加这一行:include ‘:app’,'unityLibrary'
把需要依赖Unity的模块,加上对unityLibrary的依赖:implementation project(path: ':unityLibrary')
把launcer模块下的res/values资源拷贝到你的app模块下,或者到unityLibrarys下,否则运行起来可能出现Resources#NoFoundException

手动迁移的话,默认activity就不是Unity了,你可以在你的默认activity(一般是app模块下),添加跳转逻辑,启动后,跳转到UnityPlayerActivity。
最后编译,就可以运行了。
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一样。
 


http://www.ppmy.cn/news/629487.html

相关文章

pr2.0

1.预览和挑选素材: i设置素材起点 o设置素材终点 L顺序播放素材(可点击L进行加速)K暂停播放 J倒放 双击素材,素材会出现在原监视器里,拖入图片导入声音和图片,也可以单独拖入其中之一(保持现有…

[重庆思庄每日技术分享]-rac expdp导出时报错:ORA-31693、ORA-31617、ORA-19505、ORA-27037

rac expdp导出时报错: ORA-31693: Table data object "testuser"."test" failed to load/unload and is being skipped due to error: ORA-31617: unable to open dump file "/home/oracle/exp_dir/full05.dmp" for write ORA-195…

expdp导出出现ORA-39373错误

源端Oracle 12.2 目标端Oracle12.1 由于高版本导出,导入到低版本,因此在导出的时候需要在导出语句中加入versionxxx参数。 expdp a/b1.1.1.2:9999/hr directorydp dumpfilea0301.dmp logfileexpdp_a0301.log schemasa CLUSTERN version12.1ORA-39373报错…

ORA-00301

问题1 oerr ora 01589 01589, 00000, "must use RESETLOGS or NORESETLOGS option for database open" // *Cause: Either incomplete or backup control file recovery has been // performed. After these types of recovery you must specify either /…

expdp导出ora-39001参数值无效错误

用expdp导出时出现在错误ora-39001参数值无效,原来的导出语句是:expdp 用户名/口令实例名 dumpfiletest.dmp directoryTEST_DIR SCHEMAS用户名 ; 然后就出错了。 后来改了下:xpdp 用户名/口令实例名 dumpfiletest.dmp directo…

impdp/expdp导入导出出现ORA-39006 ORA-39213错误

1 在终端中运行导入命令,命令如下: impdp sys/oracle SCHEMASEARADMIN directoryPUMP_DIR dumpfileEARADMIN.dmp logfileEARADMIN02.log 2 系统提示错误如下: ORA-39006: internal error ORA-39213: Metadata processing is not available 3…

expdp ORA-31626 ORA-31637 ORA-06512 ORA-06512 ORA-39062 ORA-31613

expdp报错如下: ORA-31626 ORA-31637 ORA-06512 ORA-06512 ORA-39062 ORA-31613 ORA-31626: job does not exist ORA-31637: cannot create job SYS_EXPORT_SCHEMA_06 for user SYSTEM ORA-06512: at "SYS.DBMS_SYS_ERROR", line 95 ORA-06512: at &quo…

oracle导出39001,expdp导出报错:ORA-39001: ORA-39200: ORA-02019:

问题已解决,需要在本地数据库,用sys用户,执行 GRANT exp_full_database TO db_exp; (db_exp为本地数据库用户) C:\Users\jadl>sqlplus / as sysdba SQL*Plus: Release 11.2.0.1.0 Production on 星期三 12月 7 15:10:13 2016 Copyright (c) 1982, 2010, Oracle. Al…

expdp 导出报错 ORA-39006: ORA-39065: ORA-04063: ORA-06508: ORA-39097: ORA-01403: ORA-39097:

生产环境下,由于前期数据库出现故障,导致几天的停机时间,运营商要求自己保存一份备份,2016-09-05用expdp导出过程中出现问题 ORA-39006: ORA-39065: ORA-04063: ORA-06508: ORA-39097: ORA-01403: ORA-39097: 第一次: …

usrp b210 参数记录

淘宝链接 DC接口(6v), 如果不使用GPSDO并且只使用单通道收发不需要使用外部电源,如果要使用GPSDO或者使用双通道收发需要接外部电源。

ORA-32002 ORA-32017 ORA-32019

问题:如下 原因:备库spfile有值,但是系统层面没有改文件。 只能重启了。。。

expdp导出报错ORA-39002、ORA-39070

公司TA系统数据库备份策略之前一直是前台备份,耗时较长。上周数据库从AIX迁移到X86上面之后,存储便宜了,所以就让维护直销系统的同事将备份策略改为后台备份。 今天周一早班时候检查上周五晚上的各个备份数据,发现备份目录下是空…

数据泵导出报错ORA-39002、ORA-39070、ORA-29283、ORA-06512、ORA-29283

问题描述:数据泵导出报错ORA-39002、ORA-39070、ORA-29283、ORA-06512、ORA-29283 C:\Users\Administrator>expdp system/newECARD2017 directoryexpdp_dir dumpfilecc enseecard%U.dmp logfileccenseecard_export.log schemasccense Export: Release 11.2.0.1.…

CRS-2101:The OLR was formatted using version 3

11.2.0.4 GI 在 RHEL 7 上安装,执行root.sh脚本出现以下错误信息 Adding Clusterware entries to inittab ohasd failed to start Failed to start the Clusterware. Last 20 lines of the alert log follow: 2020-03-07 11:56:17.170: [client(16368)]CRS-2101:…

expdp导出出现ORA-31693、ORA-02354、ORA-39826错误

Oracle 12.2在导出的时候,出现ORA-31693、ORA-02354、ORA-39826错误 ORA-31693: Table data object "YKSOFT"."T_TEMP_U90915" failed to load/unload and is being skipped due to error: ORA-02354: error in exporting/importing data ORA-…

oracle 11g 通过expdp 导出错误ORA-39006,ORA-39065,ORA-44002,ORA-06512,ORA-39097

EXPDP SCOTT/scott DIRECTORY DIR_EM DUMPFILEEMP.DMP LOGFILE EMP.LOG TABLESEMP 这是在CMD运行的代码 以下是运行结果 Export: Release 11.2.0.1.0 - Production on 星期三 6月 29 16:33:06 2022 Copyright © 1982, 2009, Oracle and/or its affiliates. All rights re…

impdp或expdp报错ORA-39002

linux oracle impdp 导入数据 出现报错是这样的: ORA-39002: invalid operation ORA-39070: Unable to open the log file. ORA-29283: invalid file operation ORA-06512: at "SYS.UTL_FILE", line 536 ORA-29283: invalid file operation 根据百度…

expdp导出报错ORA-39006和ORA-39213解决

报错现象: [oraclesztech ~]$ expdp system/oracle directorydump_dir dumpfiledmpfile.dmp transport_tablespacestb1; Export: Release 11.2.0.4.0 - Production on Wed Aug 10 11:59:00 2022 Copyright (c) 1982, 2011, Oracle and/or its affiliates. All right…

MySQL 中的 2 种变量类型(系统变量:show variable;状态变量:show status)

MySQL 服务器管理系列文章目录 The MySQL Server MySQL 中的 2 种变量类型(系统变量:show variable;状态变量:show status) 文章目录 MySQL 服务器管理系列文章目录变量的分类变量的列表清单对表格的说明 不同类型变…

MIT6.584分布式-原MIT6.824-lab1-2023年万字从0到1小白学习笔记

文章目录 前置准备一、分布式系统知识的学习1.1分布式Go语言环境安装1.2MIT6.824课程的学习1.2* 前言学习 可以看到这个任务是不会完成的,在我们没有开始进行编码的时候1.3课程需求1.4怎么实现、借助课程的Hints1.5首先看看其mapfunction的工作逻辑: 二、…
最新文章