用源码编译虚幻引擎,并打包到安卓平台

用源码编译虚幻引擎,并打包到安卓平台

前往我的博客,获取更优的阅读体验
作业内容:

  • 源码编译UE5.4
  • 构建C++项目,简单设置
  • 打包到安卓平台

编译虚幻 5

前置内容

这里需要将 Epic 账号和 Github 账号绑定,然后加入 Epic 邀请的组织,即可以参与虚幻5的工程。考虑到这并非本作业的核心内容,这里不过多赘述,如有疑问,参考下列文章;

获取完整源码文件

这里下载的版本为课程要求的 5.4 版本

官方已经给出了完整的编译方案,如图:

我们跟随教程,解压文件然后运行 Setup.bat:

然后运行 GenerateProjectFiles.bat:

完成后会出现UE5.sln,然后使用VS2022运行 UE5.sln

这儿我权衡下没有采取克隆的方式,主要是两点:

  • Github的网络上个谜,即便挂梯子,也会抽风
  • 本地硬盘为980Pro,并不害怕解压小文件

编译器环境配置

这里我曾经使用 VS 开发过,所以不需要配置任何 VS 的环境

我的VS配置如下图:

实际上并不需要全部勾选,大家可以参考官方文档,这里只是一个参考。

编译源码

以上配置完成后打开UE5.sln,然后选择 Development EditorWin64 进行编译,如图:

这里我遇到了两个问题:

  • 权限问题,临时文件无法创建问题。经典的C++ Error D8037
  • 虚拟内存爆炸问题,这个问题是我本地的问题,解决方案是增加虚拟内存
    前者解决方案参考: C++ Error D8037

此外 ,本过程可能需要消耗几个小时的时间,大家慢慢等待即可。

编译完成后,在VSF5或前往对应路径运行UnrealEditor.exe

我这儿直接创建了一个新的项目,然后进行了简单的设置,并本地运行如图:

安卓打包平台的配置

环境配置

先贴完整的官方文档: 如何进行安卓平台配置

因为我本地已经配置过 NDKSDK,所以Android Studio部分没有截图,大家可以参考官方文档。

虚幻 5 的配置

先跟随官方安装虚幻的 NDK,选择对应的 SDK 路径

然后重启虚幻5,选择 Android 平台,如果操作正常,应当可以看到如下图:

配置完成后,不可以出现主动安装 等字样,如图,即便有也只能出现强制安装等字样,如果是这样,意味着虚幻5成功的获取了你的 SDK 。

打包,完工

打包

在我环境下虚幻5.4为Gradle 7.5 ,而我本地的 JDK 版本为 21,这两个版本存在兼容问题,所以我需要降级 JDK 版本。

然后开始打包,生成下列文件:

借助 ADB 进行安装,并成功运行,如图:

测试时发现单独的 APK 不能安装,仔细下图观察会发现有一个极大的obb文件,即安卓游戏通用数据包

查询后发现需要勾选打包数据到 apk ,如图:

再次打包可以看出数据已经打包到apk中,apk大了很多,如图:

仅借助APK即可安装成功,如图:

相关推荐
亓才孓3 分钟前
[JDBC]元数据
android
独行soc14 分钟前
2026年渗透测试面试题总结-17(题目+回答)
android·网络·安全·web安全·渗透测试·安全狮
金融RPA机器人丨实在智能22 分钟前
Android Studio开发App项目进入AI深水区:实在智能Agent引领无代码交互革命
android·人工智能·ai·android studio
科技块儿23 分钟前
利用IP查询在智慧城市交通信号系统中的应用探索
android·tcp/ip·智慧城市
独行soc1 小时前
2026年渗透测试面试题总结-18(题目+回答)
android·网络·安全·web安全·渗透测试·安全狮
王码码20351 小时前
Flutter for OpenHarmony 实战之基础组件:第二十七篇 BottomSheet — 动态底部弹窗与底部栏菜单
android·flutter·harmonyos
2501_915106321 小时前
app 上架过程,安装包准备、证书与描述文件管理、安装测试、上传
android·ios·小程序·https·uni-app·iphone·webview
vistaup2 小时前
OKHTTP 默认构建包含 android 4.4 的TLS 1.2 以及设备时间不对兼容
android·okhttp
心疼你的一切2 小时前
Unity异步编程神器:Unitask库深度解析(功能+实战案例+API全指南)
深度学习·unity·c#·游戏引擎·unitask
常利兵2 小时前
ButterKnife在Android 35 + Gradle 8.+环境下的适配困境与现代化迁移指南
android