UE4.27-UE5.1设置打包Android环境

 打包Android配置文件

1. 配置打包Android的SDK需求文件位于下面文件中:

2. 指定了对应的SDK环境变量名字以及NDK需求等:

UE4.27-UE5.1--脚本自动配置

安装前提

1. 务必关闭虚幻编辑器和Epic Games Launcher,以确保NDK组件的安装或引擎环境变量的设置正确无误。

2. 如果希望在虚幻4.24或更老版本的基础上进行升级,建议卸载CodeWorks for Android和现有全部NDK组件,并删除CodeWorks的安装文件夹。否则,Android Studio将继续使用之前的CodeWorks安装文件夹更新SDK。

3. CodeWorks默认安装目录为 C:/NVPACK。卸载CodeWorks后,确保删除此文件夹

安装AndroidStudio特定版本4.0

1. 下载安装UE4.27对应的AndroidStudio版本:AndroidStudio。

​​​​​​https://developer.android.com/studio/archive?hl=zh-cn

2. 安装AndroidStudio4.0,注意安装路径选择默认路径,否则SetupAndroid.bat 将无法找到文件,除非你先编辑它。

3. 安装后第一次打开,下载基础库。

(1) JDK默认路径:

(2) SDK路径:

Android命令行工具唯一选择8.0

        虚幻引擎的Android SDK设置依赖Android的 8.0 版本命令行工具。该操作对于UE 4.27、5.0和5.1是必须的。

1. 打开AndroidStudio的SDKManager:

2. 在SDK Tools中设置CommandLineTools版本为8.0并安装。

3. 找到引擎目录中对应的SetupAndroid.bat。

4. 编辑SetupAndroid.bat,按照如下方式设置:

set SDKMANAGER=%STUDIO_SDK_PATH%\tools\bin\sdkmanager.bat

(1) SetupAndroid.bat也指定了依赖的其他库指定版本:

5. 重启电脑让相关AndroidStudio生效。

设置AndroidNDK

1. 运行引擎中Engine/Extras/Android/SetupAndroid.bat。此脚本将下载并安装所需的安装NDK和默认信息版本到Android主目录中

2. NDK的安装目录应为 C:/Users/[Username]/AppData/Local/Android/SDK/ndk/。

3. 如果收到 repositories.cfg 无法加载的警告,可导航至其应该在的文件夹(通常为 C:/Users/[Username].android/repositories )并创建一个空白的 repositories.cfg 文件。Android设置通常就可以继续了。

4. 如果收到一条错误消息,提示你名为 lldb;1 的打包文件无法加载,请使用文本编辑器打开SetupAndroid脚本,然后找到下面这行代码:

call "%SDKMANAGER%" "platform-tools" "platforms;android-28" "build-tools;28.0.3" "lldb;3.1" "cmake;3.10.2.4988404" "ndk;21.1.6352462"删除这个列表中的 lldb;3.1 条目,保留其他条目。这样设置就能正常运行。这个问题在虚幻引擎4.25.1以及更高版本中解决了。

安装build-tools唯一选择28.0.3

1. SetupAndroid.bat中默认支持的build-Tools为28.0.3,需要在AndroidStudio中SDK Tools中设置为28.0.3。

下载其他库文件

1. 下载Android Studio中SDK Tools中其他所有内容。

2. 如果没有下载其他内容会打包报错提示AAPT2失败:

手动设置SDK路径

1. 如果上述步骤都未遇到问题,虚幻引擎将自动关联Android SDK、当前Android NDK版本和Java开发工具包(JDK)的SDK路径。不过,如果你在使用早期版本的虚幻引擎,你可能需要手动设置SDK路径才能兼容。如果你安装了虚幻引擎4.25,同时还安装了早期版本的引擎,并且该引擎使用了CodeWorks,则很有可能出现这种情况。

2. 请勿同时安装CodeWorks和Android Studio,否则你会遇到错误。如果你还需要支持除了4.25或更高版本以外的早期版本的虚幻引擎,请使用本文中的Android Studio设置,然后按照本节中的说明进行操作,以便定位你所用Android Studio的路径。如需找到SDK路径,请打开 编辑(Edit) > 项目设置(Project Settings),然后找到 平台(Platforms) > Android > Android SDK 分段。

3. 将此类字段留空时,其会退回到前一章节中安装流程所用的默认路径集。若已安装多个此类组件,或已安装在非标准目录中,可在此手动设置路径。或可打开 DefaultEngine.ini 并在 [/Script/AndroidPlatformEditor.AndroidSDKSettings] 部分下设置。

若DefaultEngine.ini中不存在 SDKPath、NDKPath 和 JDKPath 的条目,则将使用Android主目录的默认路径。

参考链接:

1. 官网链接:https://docs.unrealengine.com/4.27/zh-CN/SharingAndReleasing/Mobile/Android/Setup/AndroidStudio/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/203629.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

P1005 [NOIP2007 提高组] 矩阵取数游戏

网址:P1005 [NOIP2007 提高组] 矩阵取数游戏 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 动态规划和高精度的组合,使我的滨州旋转 最后只得了80,两个测试点超时了 看题解有人是用了int128来做的,明天学一下 我的递归思路和…

关于 mapboxgl 的常用方法及效果

给地图标记点 实现效果 /*** 在地图上添加标记点* point: [lng, lat]* color: #83f7a0*/addMarkerOnMap(point, color #83f7a0) {const marker new mapboxgl.Marker({draggable: false,color: color,}).setLngLat(point).addTo(this.map);this.markersList.push(marker);},…

AI必然成为未来的OS

我的新书《Android App开发入门与实战》已于2020年8月由人民邮电出版社出版,欢迎购买。点击进入详情 ChatGPT引入插件,AI必然成为未来OS,或至少成为绝大多数APP首选入口。未来软件开发根据任务不同,有两种不同范式: &a…

unity 2d 入门 飞翔小鸟 场景淡入淡出功能(三)

1、在图层新建个空的图层 场景2 2创建c#脚本 脚本创建好后,将脚本推拽进空白图层里面,将黑色图片拉进去脚本的参数里面,如上面最后一张图,两个切换的场景都要进行上述操作 using System.Collections; using System.Collection…

识别低效io引起的free buffer waits

产生事发时间段的awr报告 Top 5 wait events 这里重点关注: 1.free buffer waits 2.enq_HW-contention 3.enq:tx-row lock contention enq:HW-contention属于水位线的争用,已经透过alter table allocate extent,提前分配空间,这里不做讨论 …

软件工程之需求分析

一、对需求的基本认识 1.需求分析简介 (1)什么是需求 用户需求:由用户提出。原始的用户需求通常是不能直接做成产品的,需要对其进行分析提炼,最终形成产品需求。 产品需求:产品经理针对用户需求提出的解决方案。 (2)为什么要…

【Python】Flask + MQTT 实现消息订阅发布

目录 Flask MQTT 实现消息订阅发布准备开始1.创建Flask项目2创建py文件:mqtt_demo.py3.代码实现4.项目运行5.测试5.1 测试消息接收5.2 测试消息发布6、扩展 Flask MQTT 实现消息订阅发布 准备 本次项目主要使用到的库:flask_mqtt pip install flask…

Leetcode刷题详解——最长湍流子数组

1. 题目链接:978. 最长湍流子数组 2. 题目描述: 给定一个整数数组 arr ,返回 arr 的 最大湍流子数组的长度 。 如果比较符号在子数组中的每个相邻元素对之间翻转,则该子数组是 湍流子数组 。 更正式地来说,当 arr 的子…

ALPHA开发板烧录工具MfgTool简介

一. 简介 前面我们已经移植好了 uboot 和 linux kernle ,制作好了根文件系统。但是我们移植都是通 过网络来测试的,在实际的产品开发中肯定不可能通过网络来运行。 因此,我们需要将 uboot 、 linux kernel 、 .dtb( 设备树 ) 和 rootf…

串口环形收发原理及实现

一、环形收发队列构建 1、构造环形收发数组及其长度 #define buff_size 10 Unsigned char buff[buff_size]; 2、定义环形收发读/写位置 u16 R_Buff; u16 W_Buff; 3、结构体封装 typedef struct Qbuff {u16 write; //写位置u16 read; //读位置u8 buf…

Zabbix自定义飞书webhook告警媒介1

说明:此配置仅适用于7版本及以上,低版本可能有问题 JavaScript 内容如下: try {var sourceData JSON.parse(value),req new HttpRequest(),response;if (sourceData.HTTPProxy) {req.setProxy(sourceData.HTTPProxy);}req.addHeader(Conte…

pytorch中的transpose用法

注意:维数从0开始,0维 1维2维…,负数代表从右往左数,-1代表第一维,以此类推 import torch import numpy as np# 创建一个二维数组 arr torch.tensor([[[1, 2],[3, 4]],[[5, 6],[7, 8]]]) print("原始数组:"…

Docker部署.NET6项目

Docker的三大核心概念 1、docker仓库(repository) docker仓库(repository)类似于代码库,是docker集中存放镜像的场所。实际上,注册服务器是存放仓库的地方,其上往往存放着很多仓库。每个仓库集…

案例058:基于微信小程序的智能社区服务系统

文末获取源码 开发语言:Java 框架:SSM JDK版本:JDK1.8 数据库:mysql 5.7 开发软件:eclipse/myeclipse/idea Maven包:Maven3.5.4 小程序框架:uniapp 小程序开发软件:HBuilder X 小程序…

操作符(原码反码补码)

目录 前言&#xff1a; 原反补码&#xff1a; 位操作符&#xff1a; &#xff06; &#xff5c; &#xff3e; &#xff5e; >> << 总结&#xff1a; 逻辑操作符 && || 其他操作符&#xff1a; sizeof -- () &#xff1f;&#xf…

AMEYA360--罗姆与Quanmatic公司利用量子技术优化制造工序并完成验证

全球知名半导体制造商罗姆(总部位于日本京都市)于2023年1月起与 Quanmatic Inc.(总部位于日本东京都新宿区&#xff0c;以下简称“Quanmatic”)展开合作&#xff0c;在半导体制造工序之一的EDS工序中测试并引入量子技术&#xff0c;以优化制造工序中的组合。目前&#xff0c;双…

C#excel导入dategridview并保存到数据库/dategridview增加一行或几行一键保存数据库

excel导入到dategridview显示并保存到数据库 dategridview增加一行或几行一键保存数据库 ExcelHelper类(这个要导入NPOI包) using NPOI.HSSF.UserModel; using NPOI.SS.UserModel; using NPOI.XSSF.UserModel; using System; using System.Collections.Generic; using Syste…

dtaidistance笔记:dtw_ndim (高维时间序列之间的DTW)

1 数据 第一个维度是sequence的index&#xff0c;每一行是多个元素&#xff08;表示这一时刻的record&#xff09; from dtaidistance.dtw_ndim import *s1 np.array([[0, 0],[0, 1],[2, 1],[0, 1],[0, 0]], dtypenp.double) s2 np.array([[0, 0],[2, 1],[0, 1],[0, .5],[0…

Elasticsearch--解决磁盘使用率超过警戒水位线

原文网址&#xff1a;Elasticsearch--解决磁盘使用率超过警戒水位线_IT利刃出鞘的博客-CSDN博客 简介 本文介绍如何解决ES磁盘使用率超过警戒水位线的问题。 问题描述 当客户端向 Elasticsearch 写入文档时候报错&#xff1a; cluster_block_exception [FORBIDDEN/12/inde…

Qt进程和线程

一、进程 在设计一个应用程序时,有时不希望将一个不太相关的功能集成到程序中,或者是因为该功能与当前设计的应用程序联系不大,或者是因为该功能已经可以使用现成的程序很好的实现了,这时就可以在当前的应用程序中调用外部的程序来实现该功能,这就会使用到进程。Qt应用程序…