- 教程
- 遇到的问题
- UE5 打包android提示 sdk未设置
- 解决方案
- UE5打包apk 报错 ERROR: cmd.exe failed with args :app:assembleDebug
- 解决方案
- 我在打包的时候,日志中的报错信息如下(每个人的报错信息可能不一样,根据报错日志找对应的解决方案)
- 解决方案:
教程
打包apk的教程
除此之外需要下载:
.NET Core 3.1 SDK (v3.1.409) - Windows x64 Installer
遇到的问题
UE5 打包android提示 sdk未设置
解决方案
如果你已经正确配置了SDK、JDK和NDK,但是UE5仍然提示SDK未设置,可以尝试以下步骤:
-
确认你的SDK路径是否正确,并且在环境变量中已经添加了(上文提到的apk打包教程中并没有提到环境变量配置,需要自己添加)
- ANDROID_HOME:指向SDK的根目录
- PATH:添加 $ANDROID_HOME/tools 和 $ANDROID_HOME/platform-tools
-
检查你的Android插件设置是否正确。在UE5中,你需要手动启用Android插件并配置它。
- 在菜单栏中选择 Edit -> Plugins
- 选择 Android 部分
- 确认 Android SDK、Java SDK 和 NDK 路径是否正确设置
-
确认你的Android项目设置是否正确。在UE5中,你需要为每个Android项目手动配置Android选项。
- 打开项目设置(Project Settings)
- 选择 Platforms -> Android
- 确认你的Android SDK、Java SDK 和 NDK 路径是否正确设置
如果你已经检查了以上三个步骤,但仍然无法成功打包Android应用程序,请尝试重新安装或更新你的Android SDK、JDK和NDK。
UE5打包apk 报错 ERROR: cmd.exe failed with args :app:assembleDebug
解决方案
这个错误通常意味着打包过程中出现了某些问题,例如文件路径不正确或Gradle配置错误等。以下是您可以尝试的一些解决方法:
-
检查项目文件路径是否正确,确保没有任何文件或文件夹名称包含空格或其他特殊字符。
-
确保您已经正确配置了Gradle和Android SDK,并且您的Android设备上已经启用了USB调试模式。
-
尝试清除项目缓存并重新启动UE5,然后再次尝试打包APK。
-
确保您的项目中没有任何损坏的文件,如损坏的材质、纹理或蓝图。
-
如果上述方法都无法解决问题,可以尝试更新Android SDK和Gradle版本
如果上诉方案依然不行,可以找到打包的日志,查看报错内容
日志地址为:
C:\Users\Administrator\AppData\Roaming\Unreal Engine\AutomationTool\Logs\E+UE+UE_5.1
Administrator为你的windows用户, E+UE+UE_5.1 为你当前的UE版本
log.txt文件中包含报错信息
我在打包的时候,日志中的报错信息如下(每个人的报错信息可能不一样,根据报错日志找对应的解决方案)
Running: cmd.exe /c "E:\liuy\UEProject\test2\Intermediate\Android\arm64\gradle\rungradle.bat" :app:assembleDebug
Unzipping C:\Users\Administrator\.gradle\wrapper\dists\gradle-6.1.1-all\cfmwm155h49vnt3hynmlrsdst\gradle-6.1.1-all.zip to C:\Users\Administrator\.gradle\wrapper\dists\gradle-6.1.1-all\cfmwm155h49vnt3hynmlrsdst
Exception in thread "main" java.util.zip.ZipException: error in opening zip file
意思是
C:\Users\Administrator.gradle\wrapper\dists\gradle-6.1.1-all\cfmwm155h49vnt3hynmlrsdst\文件夹下的 gradle-6.1.1-all.zip 压缩包解压报错
我尝试着解压,也得到压缩包文件损坏的提示
解决方案:
进入Gradle官方下载对应版本的安装文件
下载地址
找到对应版本6.1.1(具体版本根据你损坏的安装包的版本去下载),下载complete(完整版)
再次尝试打包,这次没有报错了