西门白衣胜雪 發表於 2022-12-1 22:48:00

Unreal Engine 4.27.2在Android平台开发的相关配置

<h1 id="unreal-engine-4272在android平台开发的相关配置">Unreal Engine 4.27.2在Android平台开发的相关配置</h1>
<hr>
<p>UE的官方文档上有Android开发的详细介绍,本文记录一下我最近打包Android项目的一些问题和解决办法。<strong>另外本文就是为4.27配置Android开发环境,要兼容其他版本大概率会出错。</strong></p>
<h2 id="1android开发先决条件">1、Android开发先决条件</h2>
<p><strong><font style="" color="red">(按照理论配置了一遍,遇到了好多问题,找到了大多数的问题的解决办法但是最终没成功,也可以看第二条进行配置)</font></strong></p>
<p>UE官方文档上面写的第一步要在虚幻引擎安装目录的<strong>Engine/Extras/AndroidWorks/Win64</strong>文件夹下使用<strong>CodeWorksforAndroid</strong>来安装Android当前的CodeWorksforAndroid版本,不过4.27.2版本的目录下并没有CodeWorksforAndroid这个东西。<br>
<img src="https://img2023.cnblogs.com/blog/2741486/202212/2741486-20221201113349805-2013866504.png" alt="" loading="lazy"></p>
<p>翻文档发现虚幻4.25及更高版本已经不用这样配置。</p>
<p><img src="https://img2023.cnblogs.com/blog/2741486/202212/2741486-20221201113446999-208268807.png" alt="" loading="lazy"></p>
<p>首先关闭虚幻编辑器和Epic Games Launcher,以此确保NDK组件的安装或引擎环境变量的设置正确(官方文档写的)。如果以前配置了老版本(4.24及以前的)的Android开发环境,要卸载CodeWorksforAndroid和现有全部NDK组件,删除CodeWorks的安装文件夹,否则,Android Studio将继续使用之前的CodeWorks安装文件夹更新SDK。<br>
<img src="https://img2023.cnblogs.com/blog/2741486/202212/2741486-20221201114136261-116715559.png" alt="" loading="lazy"></p>
<p>配置SDK和NDK之前,要安装Android Studio 4.0版本(这个我用的是Bumblebee版本,理论上也可以)。(Android Studio在20年的时候开始用了版本新代号,不再用数字了)<strong>(2022年12月1日晚更新:经历了无数次失败后我把Android Studio卸载了,换了官方指定的版本)</strong></p>
<p>安装Android Studio的时候在Install Locations要选择默认路径,若用自定义的路径<strong>SetupAndroid.bat</strong>会无法找到文件,除非预先编辑它。<br>
<img src="https://img2023.cnblogs.com/blog/2741486/202212/2741486-20221201114859656-63397090.png" alt="" loading="lazy"></p>
<p>安装完首次打开Android Studio时在Import Android Studio Settings对话框处选择Do not import settings。<br>
<img src="https://img2023.cnblogs.com/blog/2741486/202212/2741486-20221201115026101-1554935268.png" alt="" loading="lazy"></p>
<p>之后在Verify Settings对话框中确保使用默认的SDK路径。选Finish完成安装并开始下载组件。<br>
<img src="https://img2023.cnblogs.com/blog/2741486/202212/2741486-20221201115157206-1690975733.png" alt="" loading="lazy"></p>
<p>然后选择工具栏Tools-&gt;SDK Manager中Appearance &amp; Behavior-&gt;System Settings-&gt;Android SDK,在右边面板SDK Tools中下载Android SDK Command-line Tools(latest),点击Apply就可以安装该组件了。<br>
<img src="https://img2023.cnblogs.com/blog/2741486/202212/2741486-20221201115610586-716645023.png" alt="" loading="lazy"></p>
<p><strong>然后设置NDK。</strong>在你引擎的目录下Engine/Extras/Android中,有三个Setup开头的文件。<br>
<img src="https://img2023.cnblogs.com/blog/2741486/202212/2741486-20221201115740464-353365658.png" alt="" loading="lazy"></p>
<p>Windows系统选.bat的打开安装。这里我就报错了,因为我的Android路径是自己设置的。看报错内容就是无法定位SDK。</p>
<p><img src="https://img2023.cnblogs.com/blog/2741486/202212/2741486-20221201120006085-308545665.png" alt="" loading="lazy"></p>
<p>找不到SDK,把SetupAndroid.bat用记事本打开发现找不到SDK会把ANDROID_HOME或ANDROID_LOCAL的路径设置为SDK。(不过我没有在我的.bat文件中找到ANDROID_LOCAL)<br>
<img src="https://img2023.cnblogs.com/blog/2741486/202212/2741486-20221201211705942-1929290679.png" alt="" loading="lazy"></p>
<p>打开系统属性的环境变量,新建一个ANDROID_HOME设置为SDK的路径就可以了。(ANDROID_LOCAL应该也行,我两个都设置了)<br>
<img src="https://img2023.cnblogs.com/blog/2741486/202212/2741486-20221201121233367-250739022.png" alt="" loading="lazy"></p>
<p>如果是Windows系统,重启电脑后再运行SetupAndroid.bat。然后我的又显示了报错。<br>
<img src="https://img2023.cnblogs.com/blog/2741486/202212/2741486-20221201202131240-1721383503.png" alt="" loading="lazy"></p>
<p>查询报错内容<strong>Exception in thread "main" java.lang.NoClassDefFoundError: javax/xml/bind/annotation/XmlSchema</strong>发现是jdk版本太高了,需要低版本的jdk,这里我搜索后下载了jdk1.8。然后重新配置了jdk版本,再次执行SetipAndroid.bat。<br>
<img src="https://img2023.cnblogs.com/blog/2741486/202212/2741486-20221201204312012-634877570.png" alt="" loading="lazy"><br>
报错显示没有安装CMake,回到Android Studio的SDK Manager中安装CMake。但是发现这样还是不行,下载的cmake版本太高了,用记事本打开SetupAndroid.bat,查找“$SDKMANAGERPATH/sdkmanager” “platform-tools” “platforms;android-28” “build-tools;28.0.3” “cmake;some_version” “ndk;some_numbers”,把“cmake;some_version” “ndk;some_numbers”都删掉,保存文件再运行SetupAndroid.bat。还是报错。<br>
<img src="https://img2023.cnblogs.com/blog/2741486/202212/2741486-20221201211555192-175406942.png" alt="" loading="lazy"></p>
<p>该报错说明SDK的licenses没有同意,在Android的SDK目录下,找到tools-&gt;bin,运行sdkmanager --licenses,一直填y即可。<br>
<img src="https://img2023.cnblogs.com/blog/2741486/202212/2741486-20221201212221987-1608924131.png" alt="" loading="lazy"></p>
<p>这样理论上就下载了ndk,但是我至此仍没有成功,报错。<br>
<img src="https://img2023.cnblogs.com/blog/2741486/202212/2741486-20221201223908061-1001994555.png" alt="" loading="lazy"></p>
<p>如果有repositories.cfg的warning,就在提示的文件夹中创建一个空白的repositories.cfg文件。</p>
<h2 id="配置unreal-engine">配置Unreal Engine</h2>
<p>实际上我们可以自己下载好所有的包然后在虚幻的项目设置-&gt;Platforms-&gt;Android SDK面板中直接设置路径。<br>
<img src="https://img2023.cnblogs.com/blog/2741486/202212/2741486-20221201224043770-652646716.png" alt="" loading="lazy"></p>
<p>另外虚幻4.27.2推荐使用的是NDK r21b版本。具体兼容版本如下。<br>
<img src="https://img2023.cnblogs.com/blog/2741486/202212/2741486-20221201224139338-1744085050.png" alt="" loading="lazy"></p>
<p>然后配置Android,打开虚幻引擎的项目设置-&gt;Platforms-&gt;Android,进行如下设置。两个绿色条本来是红色的,点击Configure以下,然后接受SDK证书,如果本来就是灰色就不用接受了,再改一下安卓包名称,把Project部分更换成项目名就可以了。<br>
<img src="https://img2023.cnblogs.com/blog/2741486/202212/2741486-20221201224332045-1254236677.png" alt="" loading="lazy"></p>
<p><img src="https://img2023.cnblogs.com/blog/2741486/202212/2741486-20221201224345962-946158826.png" alt="" loading="lazy"></p><br><br>
来源:https://www.cnblogs.com/HD0117/p/16940845.html
頁: [1]
查看完整版本: Unreal Engine 4.27.2在Android平台开发的相关配置