Unable to package for Android after upgrading from 4.23.2 to 4.24.2

Today I downloaded UE 4.24.2, and I upgraded my project which was on version 4.23.2 to 4.24.2. I am developing a mobile game, so I have been using my Samsung S8 android phone for testing. I have not had any trouble packing and deploying the game on my phone before upgrading to 4.24.2. When I try to package the project now, I get the following error (from output log):

**UATHelper: Packaging (Android (Multi:ASTC,PVRTC,DXT,ATC,ETC2,ETC1a,ETC1)):   ====02-Feb-20 20:40:31====PREPARING TO MAKE APK=================================================================
UATHelper: Packaging (Android (Multi:ASTC,PVRTC,DXT,ATC,ETC2,ETC1a,ETC1)):   ERROR: Support for building 
APK without Gradle is depreciated; please update your project Engine.ini.
PackagingResults: Error: Support for building APK without Gradle is depreciated; please update your project Engine.ini.**


So I opened Config\DefaultEngine.ini and changed bEnableGradle=False to bEnableGradle=True in the [/Script/AndroidRuntimeSettings.AndroidRuntimeSettings] section.

When I then try to package the project, I get the following error:


**UATHelper: Packaging (Android (Multi:ASTC,PVRTC,DXT,ATC,ETC2,ETC1a,ETC1)):   :app:packageDebug FAILED
UATHelper: Packaging (Android (Multi:ASTC,PVRTC,DXT,ATC,ETC2,ETC1a,ETC1)):   
UATHelper: Packaging (Android (Multi:ASTC,PVRTC,DXT,ATC,ETC2,ETC1a,ETC1)):   FAILURE: Build failed with an exception.
UATHelper: Packaging (Android (Multi:ASTC,PVRTC,DXT,ATC,ETC2,ETC1a,ETC1)):   
UATHelper: Packaging (Android (Multi:ASTC,PVRTC,DXT,ATC,ETC2,ETC1a,ETC1)):   * What went wrong:
UATHelper: Packaging (Android (Multi:ASTC,PVRTC,DXT,ATC,ETC2,ETC1a,ETC1)):   Execution failed for task ':app:packageDebug'.
UATHelper: Packaging (Android (Multi:ASTC,PVRTC,DXT,ATC,ETC2,ETC1a,ETC1)):   > Execution of compression failed.
UATHelper: Packaging (Android (Multi:ASTC,PVRTC,DXT,ATC,ETC2,ETC1a,ETC1)):   
UATHelper: Packaging (Android (Multi:ASTC,PVRTC,DXT,ATC,ETC2,ETC1a,ETC1)):   * Try:
UATHelper: Packaging (Android (Multi:ASTC,PVRTC,DXT,ATC,ETC2,ETC1a,ETC1)):   Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
UATHelper: Packaging (Android (Multi:ASTC,PVRTC,DXT,ATC,ETC2,ETC1a,ETC1)):   
UATHelper: Packaging (Android (Multi:ASTC,PVRTC,DXT,ATC,ETC2,ETC1a,ETC1)):   * Get more help at https://help.gradle.org
UATHelper: Packaging (Android (Multi:ASTC,PVRTC,DXT,ATC,ETC2,ETC1a,ETC1)):   
UATHelper: Packaging (Android (Multi:ASTC,PVRTC,DXT,ATC,ETC2,ETC1a,ETC1)):   BUILD FAILED in 22s
UATHelper: Packaging (Android (Multi:ASTC,PVRTC,DXT,ATC,ETC2,ETC1a,ETC1)):   65 actionable tasks: 65 executed
UATHelper: Packaging (Android (Multi:ASTC,PVRTC,DXT,ATC,ETC2,ETC1a,ETC1)):   Picked up _JAVA_OPTIONS: -Xms256m -Xmx512m
UATHelper: Packaging (Android (Multi:ASTC,PVRTC,DXT,ATC,ETC2,ETC1a,ETC1)):   ERROR: cmd.exe failed with args /c "M:\Unreal Projects\PrototypeOne 4.24\Intermediate\Android\APK\gradle\rungradle.bat" :app:assembleDebug
UATHelper: Packaging (Android (Multi:ASTC,PVRTC,DXT,ATC,ETC2,ETC1a,ETC1)): Took 83.4745086s to run UnrealBuildTool.exe, ExitCode=5
UATHelper: Packaging (Android (Multi:ASTC,PVRTC,DXT,ATC,ETC2,ETC1a,ETC1)): UnrealBuildTool failed. See log for more details. (C:\Users\Andy.000\AppData\Roaming\Unreal Engine\AutomationTool\Logs\D+Epic+Games+UE_4.24\UBT-ActionRPG-Android-Shipping_2.txt)
UATHelper: Packaging (Android (Multi:ASTC,PVRTC,DXT,ATC,ETC2,ETC1a,ETC1)): AutomationTool exiting with ExitCode=5 (5)
UATHelper: Packaging (Android (Multi:ASTC,PVRTC,DXT,ATC,ETC2,ETC1a,ETC1)): BUILD FAILED
PackagingResults: Error: cmd.exe failed with args /c "M:\Unreal Projects\PrototypeOne 4.24\Intermediate\Android\APK\gradle\rungradle.bat" :app:assembleDebug
PackagingResults: Error: Unknown Error**

The logfile UBT-ActionRPG-Android-Shipping_2.txt looks like this:

**UEDeployAndroid.FilterStdOutErr: :app:packageDebug FAILED
UEDeployAndroid.FilterStdOutErr: 
UEDeployAndroid.FilterStdOutErr: FAILURE: Build failed with an exception.
UEDeployAndroid.FilterStdOutErr: 
UEDeployAndroid.FilterStdOutErr: * What went wrong:
UEDeployAndroid.FilterStdOutErr: Execution failed for task ':app:packageDebug'.
UEDeployAndroid.FilterStdOutErr: > Execution of compression failed.
UEDeployAndroid.FilterStdOutErr: 
UEDeployAndroid.FilterStdOutErr: * Try:
UEDeployAndroid.FilterStdOutErr: Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
UEDeployAndroid.FilterStdOutErr: 
UEDeployAndroid.FilterStdOutErr: * Get more help at https://help.gradle.org
UEDeployAndroid.FilterStdOutErr: 
UEDeployAndroid.FilterStdOutErr: BUILD FAILED in 22s
UEDeployAndroid.FilterStdOutErr: 65 actionable tasks: 65 executed
UEDeployAndroid.FilterStdOutErr: Picked up _JAVA_OPTIONS: -Xms256m -Xmx512m
UnrealBuildTool.Main: ERROR: cmd.exe failed with args /c "M:\Unreal Projects\PrototypeOne 4.24\Intermediate\Android\APK\gradle\rungradle.bat" :app:assembleDebug
UnrealBuildTool.Main: BuildException: cmd.exe failed with args /c "M:\Unreal Projects\PrototypeOne 4.24\Intermediate\Android\APK\gradle\rungradle.bat" :app:assembleDebug
UnrealBuildTool.Main:    at UnrealBuildTool.UEDeployAndroid.RunCommandLineProgramWithExceptionAndFiltering(String WorkingDirectory, String Command, String Params, String OverrideDesc, Boolean bUseShellExecute) in D:\Build\++UE4\Sync\Engine\Saved\CsTools\Engine\Source\Programs\UnrealBuildTool\Platform\Android\UEDeployAndroid.cs:line 1429
UnrealBuildTool.Main:    at UnrealBuildTool.UEDeployAndroid.MakeApk(AndroidToolChain ToolChain, String ProjectName, TargetType InTargetType, String ProjectDirectory, String OutputPath, String EngineDirectory, Boolean bForDistribution, String CookFlavor, UnrealTargetConfiguration Configuration, Boolean bMakeSeparateApks, Boolean bIncrementalPackage, Boolean bDisallowPackagingDataInApk, Boolean bDisallowExternalFilesDir, Boolean bSkipGradleBuild) in D:\Build\++UE4\Sync\Engine\Saved\CsTools\Engine\Source\Programs\UnrealBuildTool\Platform\Android\UEDeployAndroid.cs:line 3681
UnrealBuildTool.Main:    at UnrealBuildTool.UEDeployAndroid.PrepTargetForDeployment(TargetReceipt Receipt) in D:\Build\++UE4\Sync\Engine\Saved\CsTools\Engine\Source\Programs\UnrealBuildTool\Platform\Android\UEDeployAndroid.cs:line 3780
UnrealBuildTool.Main:    at UnrealBuildTool.BuildMode.Build(List`1 TargetDescriptors, BuildConfiguration BuildConfiguration, ISourceFileWorkingSet WorkingSet, BuildOptions Options, FileReference WriteOutdatedActionsFile) in D:\Build\++UE4\Sync\Engine\Saved\CsTools\Engine\Source\Programs\UnrealBuildTool\Modes\BuildMode.cs:line 330
UnrealBuildTool.Main:    at UnrealBuildTool.BuildMode.Execute(CommandLineArguments Arguments) in D:\Build\++UE4\Sync\Engine\Saved\CsTools\Engine\Source\Programs\UnrealBuildTool\Modes\BuildMode.cs:line 192
UnrealBuildTool.Main:    at UnrealBuildTool.UnrealBuildTool.Main(String[] ArgumentsArray) in D:\Build\++UE4\Sync\Engine\Saved\CsTools\Engine\Source\Programs\UnrealBuildTool\UnrealBuildTool.cs:line 517**

Anyone know what the problem might be?

I have also tried to use the CodeWorksforAndroid installer (found here: Engine/Extras/AndroidWorks/Win64) to install the latest version of Codeworks for Android without any luck - I still get the same error.

Also, the SDK license is accepted and settings are the same as before in 4.23.2.

So yeah, I just discovered the answer myself, but I’ll post it here for anyone else having the same issue:

I opened cmd.exe and navigated here: “[Project folder]\Intermediate\Android\APK\gradle” and executed “rungradle.bat :app:assembleDebug --stacktrace”. Now I could see the reason for the exception. It was a heap size exception. Turns out that I have a environment variable in Windows called _JAVA_OPTIONS with value “-Xms256m -Xmx512m” (as can be seen in the output logs). This is apparently to small size after upgrading to 4.24.2. I changed the environment variable to “-Xms2048m -Xmx2048m”, and voila - it compiled without errors.

I am having the same issue with 4.24. For me, it seems to be project specific. Could you explain what you did to fix it on your end? I don’t see the _JAVA_OPTIONS environment variable.

I know this is old, but for me this happened because I upgraded a project from 4.24 to 4.6, In your build settings under Android there should be a check box for ‘use gradle instead of ant’ , in 4.6 this box does not exist, so you have to update a variable in defaultengine.ini (just search for gradle) from FALSE to TRUE. Has to do with your target NDK, which is kind of a whole different issue/change between 4.24 and later versions