1.首先我们需要注册一个Epic账户,网址如下

http://api.unrealengine.com/CHN/GettingStarted/Installation/index.html#bookmark1

2.创建GitHub账户

https://github.com/

3.登录UE4社区点击个人

进入到个人之后点击连接的账户,之后在下面填写我们GITHUB的昵称(用户名),注意这里不是邮箱地址

绑定成功后会受到一封Epic的邮件,通知我们绑定成功

4.重新登录GitHub验证我们的邮箱地址

5.点击验证按钮,成功后跳转到如下界面点击加入

6.之后进入到这个界面,点击UnrealEngine就可以下载到我们的源码了,这里建议选择release版本,为稳定版大小大概为200多M。

7.下载成功后我们会看到这样一个压缩包,解压之后运行startup.bat批处理文件

打开界面如下,打开之后默默等待自动下载完成即可,中途不用操作,如果发现速度为0好久不动了,可以关掉重新打开,之前下载的不会消失。大概14个G。

8.成功之后黑色对话框会自动关闭,然后我们点击GenerateProjectFiles.bat批处理文件,生成VS可执行的UE4.sln,生成之后的文件如图

9.安装vs studio2017(我这里是2019),安装时必须添加.NET4.6.2版本文件

10.生成UE4整个解决方案,编译我们的UE4源代码……静静等待编辑成功

如果没出现失败,代表全部编译成功。

11.找到引擎安装目录,按照如下路径找到UnrealVS调试插件,双击运行安装到VS2017中

UnrealEngine-release\Engine\Extras\UnrealVS\VS2017

12.复制UE4.natvis到VS2017目录下,首先找到文件所在目录:

该文件为批处理文件,但是需要手动复制到VS2017目录

UnrealEngine-release\Engine\Extras\VisualStudioDebugging

13.找到VS2017安装目录,打开如下目录将UE4.natvis拷贝到该目录下,可以在加断点的情况下,看到自定义变量当前的值。

Microsoft Visual Studio\2017\Community\Common7\Packages\Debugger\Visualizers

下面是游戏项目导入的过程

1.从UE4商城直接下载ACTIONRPG项目文件

注意路径必须全中文,这点很重要

下载后在UE4中导入项目文件

接下来就可以在UE4编辑器中编辑游戏了

andriod打包

需要

1.JDK

2.AndroidNDK

3.AndroidSDK

4.gradle(UE4打包时会自行下载5.4.1,但是5.4.1版本的gradle根本无法打包成功,这里用6.7版本进行替换)

接下来在

配置路径

然后进行打包操作,这里

根据安卓手机GPU不同编译不同的版本,第一个是适配所有版本,打包时间最长

接下来就是漫长的打包时间...

附加几个坑:

问题一:

当控制台出现这种报错时

UATHelper: Packaging (Android (ETC1)): ERROR: cmd.exe failed with args /c "D:\Android_TEST\MyProject\Intermediate/Android/APK\gradle\rungradle.bat" :app:assembleDebug”

第一步:

先查看项目设置->Android SDK中的SDK路径是否正确

第二步 :

检查Android->APK Packaging中是否配置Android平台

第三步:

取消勾选Enable Gradle instead of Ant

问题二:

打包后启动出现

No obb found or store key to try download

解决方法:

勾选Package game data inside .apk?

记一次UE4源码编译和游戏项目打包过程的更多相关文章

  1. Linux学习日记——源码编译Apache

    [本文为笔者在学习Linux 下的软件安装时,尝试使用源码安装Apache 的过程,事后进行一个小小的总结,发现错误望指正.] 一.典型的源码编译安装软件的过程包括以下3步: 1) 运行 config ...

  2. UE4源码版食用要记

    UE4源码版和预编译版不能共享工程,这和插件版是一样的. 一般来说我都是在VS中生成编辑器,于编辑器中添加新类,VS中编辑代码. 编译引擎的时候编译配置使用的是devepolmenteditor.开发 ...

  3. 记一次在mac上源码编译curl,使其支持NSS的过程

    一.背景 在一次学习https原理的过程中,希望客户端指定特定的cipher suites来抓包分析SSL/TLS的握手过程,就想到了使用curl工具,而不是使用浏览器. 接下来使用man curl找 ...

  4. 有关android源码编译的几个问题

    项目用到编译环境,与源码有些差异不能照搬,关键是连源码都没编译过,下面基本上是行网上照的各种自学成才的分享,病急乱投医了,都记在下面作为参照吧. 1.验证是否编译正确,在终端执行 emulator & ...

  5. 保姆级教程——Ubuntu16.04 Server下深度学习环境搭建:安装CUDA8.0,cuDNN6.0,Bazel0.5.4,源码编译安装TensorFlow1.4.0(GPU版)

    写在前面 本文叙述了在Ubuntu16.04 Server下安装CUDA8.0,cuDNN6.0以及源码编译安装TensorFlow1.4.0(GPU版)的亲身经历,包括遇到的问题及解决办法,也有一些 ...

  6. Zabbix 源码编译安装

    简介: Zabbix 分布式监控系统,源码编译安装记录 ( 记不得是第多少次了 ) 下载地址:http://jaist.dl.sourceforge.net/project/zabbix/ZABBIX ...

  7. 听说你还没学Spring就被源码编译劝退了?30+张图带你玩转Spring编译

    源码学习第一步,Spring源码编译 之所以写这么一篇文章是因为群里的小伙伴在编译源码时碰到了问题,再加上笔者自身正准备做一个源码的注释版本,恰好也需要重新编译一份代码,至于为什么要将源码编译到本地就 ...

  8. centos7源码编译安装lamp/lnmp

    centos7源码编译安装lamp/lnmp 进程:是包工头(相当于是个门,只管开门关门,不管门内的事儿) 线程:是各种工种(cpu调度的是线程) 进程 是一件事情, 线程 是 同一个时间范围内 同时 ...

  9. Android 5.0源码编译问题

    如果是自己通过repo和git直接从google官网上download的源码,请忽略这个问题,但是由于google在国内被限制登录,通过这一种方法不是每个人都能download下来源码,通常的做法就是 ...

随机推荐

  1. 【开发板试用报告】学习GPIO编程

    温湿度传感器 参考许老师教程:https://gitee.com/hihopeorg/ 下载源码git clone https://github.com/xusiwei/harmonyos-aht20 ...

  2. php 获取抖音id

    <?php public function getid($dy_url){ $header=get_headers($dy_url); $str = "/^.*?(\d+).*/&qu ...

  3. 10before_request钩子函数

    1,什么是钩子函数? 就是运行别人前都得先运行他: from flask import Flask app = Flask(__name__) @app.route('/') def hello_wo ...

  4. animation关键帧动画语法

    基本声明和用法 @-webkit-keyframes NAME-YOUR-ANIMATION { 0% { opacity: 0; } 100% { opacity: 1; } } @-moz-key ...

  5. martini-拓扑映射

    如何为一个新的分子创建拓扑文件? 这是martini应用的关键.http://jerkwin.github.io/2016/08/31/Martini%E5%B8%B8%E8%A7%81%E9%97% ...

  6. 硬盘LBA 和CHS的关系(转)

    磁头数 × 磁道(柱面)数 × 每道扇区数 × 每扇区字节数 l         磁头(head)数:每个盘片一般有上下两面,分别对应1个磁头,共2个磁头:l         磁道(track)数:磁 ...

  7. mysql中数据类型DECIMAL(M,D)的说明

    本文转载自Boblim的文章http://www.cnblogs.com/fnlingnzb-learner/p/8108119.html 在MySQL数据类型中,例如INT,FLOAT,DOUBLE ...

  8. 处理ceph incompelete的经验

    前言 最近已经见到几个环境出现过incompelete了,这个在很久以前Jewel正在合入mark-complete工具的时候就有做过类似的处理,但是随着处理的环境越来越多,这个地方还是有些需要注意的 ...

  9. 测试_QTP原理

    QTP是基于GUI界面的自动化测试工具,用于系统的功能测试.   QTP录制的是鼠标和键盘的消息.QTP录制回放时基于windows操作系统的消息机制.QTP在录制时监听应用程序的消息,监听到之后把消 ...

  10. Java之定时任务全家桶

    定时任务应用非常广泛,Java提供的现有解决方案有很多.本次主要讲schedule.quartz.xxl-job.shedlock等相关的代码实践. 一.SpringBoot使用Schedule 核心 ...