Unity3d打包到Android

本文参考:

Unity3D新手教程:如何打包发布到Android_哔哩哔哩_bilibili

一、Unity 打包Android的环境搭建

1、工具安装

Unity Hub已经集成了Android的环境搭建。

选择Add modules

然后安装Android Build Support下的所有工具。

如果各个工具都安装成功,可以在Edit -> Preferences -> External Tools中查看已安装的工具。

保证JDK、SDK、NDK都没有报错。

2、工具介绍

Android SDK是Android的开发工具集,

Android NDK是Native开发工具集,Android中的c/c++编译成so文件,以供java调用。

3、注意事项

Unity每个版本对应不同的SDK和NDK,版本不匹配会直接导致异常。

假如某个工具自动安装异常,比如下方的NDK。可以手工下载对应版本的工具。下载时NDK的大版本号需要一致,小版本不一定需要一致,下载完成后需要在工具的配置文件中手工修改成unity需要的版本号。

修改NDK版本号的文件:进入下载好的NDK目录,打开source.properties文件,然后修改Pkg.Revision值如下:

不能修改大版本号(23),只能修改小版本号(1.7779620)。

同时,手工下载的NDK需要放在unity默认的目录下,不能指定自己随意的一个路径。如果不知道默认路径在哪里,可以查看其他工具比如SDK的路径,然后NDK的路径和SDK是平级的。

二、Unity一键打包apk

File -> Build Settings

首先,点击Add Open Scenes选择对应的打包场景然后打勾

其次,Platform选择Android

接着,反勾选"Export Project",这个选项表示导出为Android的project项目,可以用Android Studio打开该project以便进一步完善代码,最终在Android Studio中打包生成apk文件。

然后,选择Player Settings -> Player,在这里修改游戏的桌面图标(Default Icon),以及画面的分辨率(Default Window Width / Default Window Height)的值。

最后,点击Build按钮,就可以生成apk包。

三、基于mono打包与基于IL2CPP打包的区别

Unit内置Mono的.net虚拟机,解释执行.dll的.net字节码,性能会差一些。

IL2CPP模式会将dll + unity.net转为cpp代码让NDK编译,所以性能会比较好,正式项目一般都是选这种方式进行打包。

选择打包方式的方法:

Build Settings -> Player Settings -> Player -> Other Settings -> Configuration -> Scripting Backend,

然后选择对应的打包方式。

对比Mono和IL2CPP方式,IL2CPP方式的程序大小约是mono方式的2/3。

相关推荐
恋猫de小郭5 小时前
Flutter 正在计划提供 Packaged AI Assets 的支持,让你的包/插件可以更好被 AI 理解和选择
android·前端·flutter
AD钙奶-lalala9 小时前
Android编译C++代码步骤详解
android·开发语言·c++
特立独行的猫a10 小时前
Kuikly多端框架(KMP)实战:KMP中的 Ktor 网络库的多端适配指南
android·网络·harmonyos·ktor·compose·kmp·kuikly
滑板上的老砒霜13 小时前
AI 共舞,还是被“注意力刺客”偷袭?——程序员的数字专注力守护指南
android·ai编程·客户端
钛态13 小时前
Flutter for OpenHarmony 实战:Stack Trace — 异步堆栈调试专家
android·flutter·ui·华为·架构·harmonyos
二流小码农14 小时前
2026年,在鸿蒙生态里,继续深耕自己
android·ios·harmonyos
2501_9151063214 小时前
iPhone 文件管理,如何进行应用沙盒文件查看
android·ios·小程序·https·uni-app·iphone·webview
非凡ghost14 小时前
Ookla Speedtest安卓版(网速测试工具)
android·windows·学习·智能手机·软件需求
Flywith2415 小时前
【2025 年终总结】北漂五年,而立,婚礼,折叠车
android·前端·程序员
独自破碎E15 小时前
题解 | 灵异背包?
android·java·开发语言