Sphinx-UE4: Speech Recognition Plugin [Release v1.0]

I have some problems with repeating events. When it detects a phrase, sometimes the “Switch on string” it outputs other things besides the phrase spoken. Can you help me? I would like to know also if I can use this plugin in a commercial game. Thankyou.

I managed to get it to work in 4.22 by following the advice in this link. Delete all the generated files (binaries, intermediate, etc.) including the visual studio file in both the main project directory and within plugins > speech recognition, and then attempt to convert the example project to 4.22 by choosing “switch version” in the file explorer or in your Unreal 4.22 Launcher.

Thank you so much for porting this to Android. I cannot wait to get home and try this out on my Quest to see if it works. If it does, you are a true lifesaver!

So after attempting to try the Android ported version on the Oculus Quest, I am sad to say it does not work. I was unsuccessful in bumping the plugin to 4.23. (will probably continue to try that over the next few days) Trying a 4.19 build in the Quest does print a Success for init on event begin play, but does not actually respond to any voice input. I’m not sure if somehow the mic is just not being recognized, if there is a setting somewhere blocking input by default, or if there is some miscommunication within the plugin-to-headset. My mic -does- work in apps like vr chat/etc, so I know I do not have a faulty microphone in my quest. It could be that the 4.19 version does not recognize my quest because (i think) only the newest versions of Ue4 actually do recognize it. (4.22 and 4.23?). If anyone has had any success in getting this to work in the Oculus Quest please message me or reply. I’m desperate to get keyword recognition working for my app!

Hello Shane, i am wondering what is the status on the speech recognition plugin… I got it to work on PC, but on mac… it’s not working at all… I’ve went all the way down to 4.12 but still nothing worked… How can we upgrade the plugin to work on 4.23 or 4.24? thx!!

Marc.

Has anyone got this to work in 4.25?

Hello, the Sphinx for Ue4 from ShaneColb is still UE4 4.12 BUT This one seems to be the same thing, compiled for 4.25! NOTE: IF THIS LINK HELPS YOU, PLEASE COMPLILE A 4.25 PROJECT WITH A .UPROJECT FILE AND ATTACH/EMAIL TO: SchoolHomeVR@gmail.com (I can’t not build solutions for the life of me! But I rarely need to, HOWEVER, in this instance, THERE IS NO .UPROJECT FILE !

for 4.25: https://github.com/MothDoctor/sphinx-ue4

Hello, the Sphinx for Ue4 from ShaneColb is still UE4 4.12 BUT ***This one seems to be the same thing, compiled for 4.25! ***

NOTE: IF THIS LINK HELPS YOU, PLEASE COMPILE FOR ME, A 4.25 PROJECT WITH A .UPROJECT FILE AND ATTACH/EMAIL TO: SchoolHomeVR@gmail.com

(I can’t not build solutions for the life of me! I rarely need to,
HOWEVER, in this instance, THERE IS NO .UPROJECT FILE ! i AM CERTAIN THERE USED TO BE BECAUSE WHEN i LAST TRIED THIS i WAS VERY NE TO ue4 AND WOULD NOT HAVE KNOWN HOW TO ‘BUILD A SOLUTIN’ ANYMOR THAN i DO TODAY (i AM A CHARACTER ANIMATOR FOR THE MOST PART)

i sure would appreciate the help!

https://github.com/MothDoctor/sphinx-ue4

OK, will give it a try when time permits!

Will post my progress here … or regress LOL!!

1 Like

Hey all,

First time poster here. I was wondering has anyone attempted to make this plugin work alongside Epic’s inbuilt VOIP.
When I try to use it, either one works or the other as they seem to attempt to use same voice input channel. I’m super new to this so I don’t really know if there is a workaround for this.

Also huge thanks to you ShaneC for all the time and effort you placed into this plugin. I’ve only played around with it for few days but it’s an amazing piece of work here

Any update on this?

Hi all!

I managed to get this to compile in 4.26.

However,

it seems that setting up the config… doesn’t seem to work.

ps_init seems to fail creating a ps_decoder_t pointer when ingesting it with the config parameters.

uint32 FSpeechRecognitionWorker::Run() {

	bool initComplete = false;
	while (StopTaskCounter.GetValue() == 0) {

		// loop until we have initialised 
		if (initRequired) {

			if(config)
				ps = ps_init(config); // this fails when applying a config. ps is always null. config is not

			if (!Manager | !ps) {
				ClientMessage(FString(TEXT("Speech Recognition Thread failed to start")));
				return 1;
			}

...

Here’s the order of the blueprint initialization of the SpeechRecognizerActor when setting up the config stuff

Any thoughts on what I’m missing would be excellent :frowning:

1 Like

Hi Shane,

I am totally new on Unreal.
We are interested on the Sphinx-UE4: Speech Recognition Plugin [Release v1.0].
Are there any restrictions on the licence?
Can we use it in our customized project?

Thanks you very much.
Regards, Matthias

Hi again to all.
Is this plugin just recognizing phrases or is it able to record a whole conversation e.g.?

Hey guys&gals, I just want to let you know that I’ve successfully compiled this plugin in UE5. I also changed a bit its architecture, now the SpeechRecognition manager is a Subsystem, not an Actor.

I put the info on how to use it in the Unreal Wiki: Sphinx: Speech Recognition Plugin | Unreal Engine Community Wiki

Cheers!

I’ve been struggling to get this to work on UE5, I noticed that there is no longer an actor and that you use a subsystem as per your comment I’ve built the following blueprint. However, it no longer uses a string array like the screenshots on the documentation. I’ve managed to possibly find a fix for it but I’ve been unable to test it as for some reason ‘on words spoken’ never triggers the event. Where am I going wrong I have placed the actor within the scene with the blueprint on it.

Have you placed the “model” folder in your Content folder?

Also, the screenshot in the wiki shows the struct from your screenshot, but after using the “Split Struct Pin” feature.

Hi does the UE5 plugin work on andriod?

Didn’t test it, but it should work. Android is not a blacklisted platform.

Not for me, i don’t think for 4.27

UEDeployAndroid.RequiresOBB: On build machine.
UEDeployAndroid.GetMinTargetSDKVersions: Fixing minSdkVersion; NDK level above 19 requires minSdkVersion of 21 (arch=armv7)
UEDeployAndroid.GetMinTargetSDKVersions: Fixing minSdkVersion; NDK level above 19 requires minSdkVersion of 21 (arch=armv7)
UEDeployAndroid.MakeApk: 
UEDeployAndroid.MakeApk: ====10-07-2022 05:05:46====PREPARING NATIVE CODE=====-armv7============================================================
UEDeployAndroid.MakeApk: bPackageDataInsideApk = False
AndroidAARHandler.AddRepositories: Added repository: C:\Program Files\Epic Games\UE_4.27\Engine\Source\ThirdParty\Android\extras\google\m2repository
AndroidAARHandler.AddRepositories: Added repository: C:\Program Files\Epic Games\UE_4.27\Engine\Source\ThirdParty\Android\extras\android\m2repository
UEDeployAndroid.CreateAARHandler: AARImports: com.google.android.gms, play-services-auth, 11.8.0
UEDeployAndroid.CreateAARHandler: AARImports: com.google.android.gms, play-services-games, 11.8.0
UEDeployAndroid.CreateAARHandler: AARImports: com.google.android.gms, play-services-nearby, 11.8.0
UEDeployAndroid.CreateAARHandler: AARImports: com.google.android.gms, play-services-plus, 11.8.0
UnrealPluginLanguage.ProcessPluginNode: Copying Google Play BillingApiV2 java files
UnrealPluginLanguage.ProcessPluginNode: 
UnrealPluginLanguage.ProcessPluginNode: Directory Engine/Plugins/Online/Android/OnlineSubsystemGooglePlay/Source/Java/BillingApiV2 copied to D:/Others/Sppechtest/Intermediate/Android/armv7/src
UnrealPluginLanguage.ProcessPluginNode: Copying permission_library directory to staging before build
UnrealPluginLanguage.ProcessPluginNode: 
UnrealPluginLanguage.ProcessPluginNode: Directory C:/Program Files/Epic Games/UE_4.27/Engine/Source/ThirdParty/AndroidPermission/permission_library copied to D:/Others/Sppechtest/Intermediate/Android/armv7/JavaLibs/permission_library
UEDeployAndroid.WriteJavaOBBDataFile: 
UEDeployAndroid.WriteJavaOBBDataFile: ==== Writing to OBB data file D:\Others\Sppechtest\Intermediate\Android\armv7\src\com\YourCompany\Sppechtest\OBBData.java ====
UEDeployAndroid.MakeApk: 
UEDeployAndroid.MakeApk: Copying new .so D:\Others\Sppechtest\Binaries\Android\Sppechtest-armv7.so file to jni folder...
UnrealPluginLanguage.ProcessPluginNode: 
UnrealPluginLanguage.ProcessPluginNode: File Libs/pocketsphinx-android-5prealpha-nolib.jar does not exist, not copied!
UnrealPluginLanguage.ProcessPluginNode: 
UnrealPluginLanguage.ProcessPluginNode: File Libs/libpocketsphinx_jni.so does not exist, not copied!
UnrealPluginLanguage.ProcessPluginNode: Copying libplaycore.so and proguard files
UnrealPluginLanguage.ProcessPluginNode: 
UnrealPluginLanguage.ProcessPluginNode: File C:/Program Files/Epic Games/UE_4.27/Engine/Plugins/Runtime/GooglePAD/Source/GooglePAD/../ThirdParty/play-core-native-sdk/libs/armeabi-v7a/ndk21.4.7075529/c++_shared/libplaycore.so copied to D:/Others/Sppechtest/Intermediate/Android/armv7/libs/armeabi-v7a/libplaycore.so
UnrealPluginLanguage.ProcessPluginNode: Copying libvrapi.so
UnrealPluginLanguage.ProcessPluginNode: 
UnrealPluginLanguage.ProcessPluginNode: File C:/Program Files/Epic Games/UE_4.27/Engine/Source/ThirdParty/Oculus/OVRPlugin/OVRPlugin/ExtLibs/armeabi-v7a/libvrapi.so copied to D:/Others/Sppechtest/Intermediate/Android/armv7/libs/armeabi-v7a/libvrapi.so
UnrealPluginLanguage.ProcessPluginNode: Copying libOVRPlugin.so
UnrealPluginLanguage.ProcessPluginNode: 
UnrealPluginLanguage.ProcessPluginNode: File C:/Program Files/Epic Games/UE_4.27/Engine/Source/ThirdParty/Oculus/OVRPlugin/OVRPlugin/Lib/armeabi-v7a/libOVRPlugin.so copied to D:/Others/Sppechtest/Intermediate/Android/armv7/libs/armeabi-v7a/libOVRPlugin.so
UnrealPluginLanguage.ProcessPluginNode: 
UnrealPluginLanguage.ProcessPluginNode: File C:/Program Files/Epic Games/UE_4.27/Engine/Source/ThirdParty/Oculus/OVRPlugin/OVRPlugin/ExtLibs/VrApi.jar copied to D:/Others/Sppechtest/Intermediate/Android/armv7/libs/VrApi.jar
UnrealPluginLanguage.ProcessPluginNode: 
UnrealPluginLanguage.ProcessPluginNode: File C:/Program Files/Epic Games/UE_4.27/Engine/Source/ThirdParty/Oculus/OVRPlugin/OVRPlugin/ExtLibs/SystemUtils.jar copied to D:/Others/Sppechtest/Intermediate/Android/armv7/libs/SystemUtils.jar
UnrealPluginLanguage.ProcessPluginNode: 
UnrealPluginLanguage.ProcessPluginNode: File C:/Program Files/Epic Games/UE_4.27/Engine/Source/ThirdParty/HWCPipe/lib/armeabi-v7a/libhwcpipe.so copied to D:/Others/Sppechtest/Intermediate/Android/armv7/libs/armeabi-v7a/libhwcpipe.so
UnrealPluginLanguage.ProcessPluginNode: Copying libhwcpipe.so
UEDeployAndroid.MakeApk: 
UEDeployAndroid.MakeApk: ====10-07-2022 05:05:47====PERFORMING FINAL APK PACKAGE OPERATION=====-armv7===========================================
UEDeployAndroid.CleanCopyDirectory: Copied file D:\Others\Sppechtest\Intermediate\Android\armv7\gradle\app\src\main\java\com\YourCompany\Sppechtest\OBBData.java.
UEDeployAndroid.GetMinTargetSDKVersions: Fixing minSdkVersion; NDK level above 19 requires minSdkVersion of 21 (arch=armv7)
UEDeployAndroid.CreateRunGradle: 
UEDeployAndroid.CreateRunGradle: Creating rungradle.bat to work around commandline length limit (using unused drive letter Z:)
UEDeployAndroid.RunCommandLineProgramWithExceptionAndFiltering: Making .apk with Gradle...
UEDeployAndroid.FilterStdOutErr: To honour the JVM settings for this build a new JVM will be forked. Please consider using the daemon: https://docs.gradle.org/6.1.1/userguide/gradle_daemon.html.
UEDeployAndroid.FilterStdOutErr: Daemon will be stopped at the end of the build stopping after processing
UEDeployAndroid.FilterStdOutErr: Warning: Mapping new ns http://schemas.android.com/repository/android/common/02 to old ns http://schemas.android.com/repository/android/common/01
UEDeployAndroid.FilterStdOutErr: Warning: Mapping new ns http://schemas.android.com/repository/android/generic/02 to old ns http://schemas.android.com/repository/android/generic/01
UEDeployAndroid.FilterStdOutErr: Warning: Mapping new ns http://schemas.android.com/sdk/android/repo/addon2/02 to old ns http://schemas.android.com/sdk/android/repo/addon2/01
UEDeployAndroid.FilterStdOutErr: Warning: Mapping new ns http://schemas.android.com/sdk/android/repo/repository2/02 to old ns http://schemas.android.com/sdk/android/repo/repository2/01
UEDeployAndroid.FilterStdOutErr: Warning: Mapping new ns http://schemas.android.com/sdk/android/repo/sys-img2/02 to old ns http://schemas.android.com/sdk/android/repo/sys-img2/01
UEDeployAndroid.FilterStdOutErr: Warning: Mapping new ns http://schemas.android.com/repository/android/common/02 to old ns http://schemas.android.com/repository/android/common/01
UEDeployAndroid.FilterStdOutErr: Warning: Mapping new ns http://schemas.android.com/repository/android/generic/02 to old ns http://schemas.android.com/repository/android/generic/01
UEDeployAndroid.FilterStdOutErr: Warning: Mapping new ns http://schemas.android.com/sdk/android/repo/addon2/02 to old ns http://schemas.android.com/sdk/android/repo/addon2/01
UEDeployAndroid.FilterStdOutErr: Warning: Mapping new ns http://schemas.android.com/sdk/android/repo/repository2/02 to old ns http://schemas.android.com/sdk/android/repo/repository2/01
UEDeployAndroid.FilterStdOutErr: Warning: Mapping new ns http://schemas.android.com/sdk/android/repo/sys-img2/02 to old ns http://schemas.android.com/sdk/android/repo/sys-img2/01
UEDeployAndroid.FilterStdOutErr: Warning: Mapping new ns http://schemas.android.com/repository/android/common/02 to old ns http://schemas.android.com/repository/android/common/01
UEDeployAndroid.FilterStdOutErr: Warning: Mapping new ns http://schemas.android.com/repository/android/generic/02 to old ns http://schemas.android.com/repository/android/generic/01
UEDeployAndroid.FilterStdOutErr: Warning: Mapping new ns http://schemas.android.com/sdk/android/repo/addon2/02 to old ns http://schemas.android.com/sdk/android/repo/addon2/01
UEDeployAndroid.FilterStdOutErr: Warning: Mapping new ns http://schemas.android.com/sdk/android/repo/repository2/02 to old ns http://schemas.android.com/sdk/android/repo/repository2/01
UEDeployAndroid.FilterStdOutErr: Warning: Mapping new ns http://schemas.android.com/sdk/android/repo/sys-img2/02 to old ns http://schemas.android.com/sdk/android/repo/sys-img2/01
UEDeployAndroid.FilterStdOutErr: > Task :app:preBuild UP-TO-DATE
UEDeployAndroid.FilterStdOutErr: > Task :app:preDebugBuild UP-TO-DATE
UEDeployAndroid.FilterStdOutErr: > Task :downloader_library:preBuild UP-TO-DATE
UEDeployAndroid.FilterStdOutErr: > Task :downloader_library:preDebugBuild UP-TO-DATE
UEDeployAndroid.FilterStdOutErr: > Task :downloader_library:compileDebugAidl NO-SOURCE
UEDeployAndroid.FilterStdOutErr: > Task :permission_library:preBuild UP-TO-DATE
UEDeployAndroid.FilterStdOutErr: > Task :permission_library:preDebugBuild UP-TO-DATE
UEDeployAndroid.FilterStdOutErr: > Task :permission_library:compileDebugAidl NO-SOURCE
UEDeployAndroid.FilterStdOutErr: > Task :app:compileDebugAidl UP-TO-DATE
UEDeployAndroid.FilterStdOutErr: > Task :downloader_library:packageDebugRenderscript NO-SOURCE
UEDeployAndroid.FilterStdOutErr: > Task :permission_library:packageDebugRenderscript NO-SOURCE
UEDeployAndroid.FilterStdOutErr: > Task :app:compileDebugRenderscript NO-SOURCE
UEDeployAndroid.FilterStdOutErr: > Task :app:generateDebugBuildConfig UP-TO-DATE
UEDeployAndroid.FilterStdOutErr: > Task :app:javaPreCompileDebug UP-TO-DATE
UEDeployAndroid.FilterStdOutErr: > Task :app:generateDebugResValues UP-TO-DATE
UEDeployAndroid.FilterStdOutErr: > Task :app:generateDebugResources UP-TO-DATE
UEDeployAndroid.FilterStdOutErr: > Task :downloader_library:compileDebugRenderscript NO-SOURCE
UEDeployAndroid.FilterStdOutErr: > Task :downloader_library:generateDebugResValues UP-TO-DATE
UEDeployAndroid.FilterStdOutErr: > Task :downloader_library:generateDebugResources UP-TO-DATE
UEDeployAndroid.FilterStdOutErr: > Task :downloader_library:packageDebugResources UP-TO-DATE
UEDeployAndroid.FilterStdOutErr: > Task :permission_library:generateDebugResValues UP-TO-DATE
UEDeployAndroid.FilterStdOutErr: > Task :permission_library:compileDebugRenderscript NO-SOURCE
UEDeployAndroid.FilterStdOutErr: > Task :permission_library:generateDebugResources UP-TO-DATE
UEDeployAndroid.FilterStdOutErr: > Task :permission_library:packageDebugResources UP-TO-DATE
UEDeployAndroid.FilterStdOutErr: > Task :app:mergeDebugResources UP-TO-DATE
UEDeployAndroid.FilterStdOutErr: > Task :app:createDebugCompatibleScreenManifests UP-TO-DATE
UEDeployAndroid.FilterStdOutErr: > Task :app:extractDeepLinksDebug UP-TO-DATE
UEDeployAndroid.FilterStdOutErr: > Task :downloader_library:extractDeepLinksDebug UP-TO-DATE
UEDeployAndroid.FilterStdOutErr: > Task :downloader_library:processDebugManifest UP-TO-DATE
UEDeployAndroid.FilterStdOutErr: > Task :permission_library:extractDeepLinksDebug UP-TO-DATE
UEDeployAndroid.FilterStdOutErr: > Task :permission_library:processDebugManifest UP-TO-DATE
UEDeployAndroid.FilterStdOutErr: > Task :app:processDebugManifest UP-TO-DATE
UEDeployAndroid.FilterStdOutErr: > Task :downloader_library:compileDebugLibraryResources UP-TO-DATE
UEDeployAndroid.FilterStdOutErr: > Task :downloader_library:parseDebugLocalResources UP-TO-DATE
UEDeployAndroid.FilterStdOutErr: > Task :downloader_library:generateDebugRFile UP-TO-DATE
UEDeployAndroid.FilterStdOutErr: > Task :permission_library:compileDebugLibraryResources UP-TO-DATE
UEDeployAndroid.FilterStdOutErr: > Task :permission_library:parseDebugLocalResources UP-TO-DATE
UEDeployAndroid.FilterStdOutErr: > Task :permission_library:generateDebugRFile UP-TO-DATE
UEDeployAndroid.FilterStdOutErr: > Task :app:processDebugResources UP-TO-DATE
UEDeployAndroid.FilterStdOutErr: > Task :downloader_library:generateDebugBuildConfig UP-TO-DATE
UEDeployAndroid.FilterStdOutErr: > Task :downloader_library:javaPreCompileDebug UP-TO-DATE
UEDeployAndroid.FilterStdOutErr: > Task :downloader_library:compileDebugJavaWithJavac UP-TO-DATE
UEDeployAndroid.FilterStdOutErr: > Task :downloader_library:bundleLibCompileToJarDebug UP-TO-DATE
UEDeployAndroid.FilterStdOutErr: > Task :permission_library:generateDebugBuildConfig UP-TO-DATE
UEDeployAndroid.FilterStdOutErr: > Task :permission_library:javaPreCompileDebug UP-TO-DATE
UEDeployAndroid.FilterStdOutErr: > Task :permission_library:compileDebugJavaWithJavac UP-TO-DATE
UEDeployAndroid.FilterStdOutErr: > Task :permission_library:bundleLibCompileToJarDebug UP-TO-DATE
UEDeployAndroid.FilterStdOutErr: 
UEDeployAndroid.FilterStdOutErr: > Task :app:compileDebugJavaWithJavac FAILED
UEDeployAndroid.FilterStdOutErr: The following annotation processors are not incremental: lifecycle-compiler-2.0.0.jar (androidx.lifecycle:lifecycle-compiler:2.0.0).
UEDeployAndroid.FilterStdOutErr: Z:\app\src\main\java\com\epicgames\ue4\GameActivity.java:239: error: package com.sphinxue4 does not exist
UEDeployAndroid.FilterStdOutErr: Make sure all annotation processors are incremental to improve your build speed.
UEDeployAndroid.FilterStdOutErr:       import com.sphinxue4.SpeechRecognitionWorker;
UEDeployAndroid.FilterStdOutErr:                           ^
UEDeployAndroid.FilterStdOutErr: Z:\app\src\main\java\com\epicgames\ue4\GameActivity.java:561: error: cannot find symbol
UEDeployAndroid.FilterStdOutErr:       private static SpeechRecognitionWorker worker;
UEDeployAndroid.FilterStdOutErr:                      ^
UEDeployAndroid.FilterStdOutErr:   symbol:   class SpeechRecognitionWorker
UEDeployAndroid.FilterStdOutErr:   location: class GameActivity
UEDeployAndroid.FilterStdOutErr: 2 errors
UEDeployAndroid.FilterStdOutErr: 
UEDeployAndroid.FilterStdOutErr: FAILURE: Build failed with an exception.
UEDeployAndroid.FilterStdOutErr: 
UEDeployAndroid.FilterStdOutErr: * What went wrong:
UEDeployAndroid.FilterStdOutErr: Execution failed for task ':app:compileDebugJavaWithJavac'.
UEDeployAndroid.FilterStdOutErr: > Compilation failed; see the compiler error output for details.
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 9s
UEDeployAndroid.FilterStdOutErr: 32 actionable tasks: 1 executed, 31 up-to-date
Log.WriteException: ==============================================================================
Log.WriteException: ERROR: cmd.exe failed with args /c "D:\Others\Sppechtest\Intermediate\Android\armv7\gradle\rungradle.bat" :app:assembleDebug
Log.WriteException:        (see C:\Users\sssha\AppData\Roaming\Unreal Engine\AutomationTool\Logs\C+Program+Files+Epic+Games+UE_4.27\Log.txt for full exception trace)
Log.WriteException: 
Log.WriteException: BuildException: cmd.exe failed with args /c "D:\Others\Sppechtest\Intermediate\Android\armv7\gradle\rungradle.bat" :app:assembleDebug
Log.WriteException:    at UnrealBuildTool.UEDeployAndroid.RunCommandLineProgramWithExceptionAndFiltering(String WorkingDirectory, String Command, String Params, String OverrideDesc, Boolean bUseShellExecute) in D:\Build\++UE4\Sync\Engine\Source\Programs\UnrealBuildTool\Platform\Android\UEDeployAndroid.cs:line 1740
Log.WriteException:    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\Source\Programs\UnrealBuildTool\Platform\Android\UEDeployAndroid.cs:line 4210
Log.WriteException:    at UnrealBuildTool.UEDeployAndroid.PrepForUATPackageOrDeploy(FileReference ProjectFile, String ProjectName, DirectoryReference ProjectDirectory, String ExecutablePath, String EngineDirectory, Boolean bForDistribution, String CookFlavor, UnrealTargetConfiguration Configuration, Boolean bIsDataDeploy, Boolean bSkipGradleBuild) in D:\Build\++UE4\Sync\Engine\Source\Programs\UnrealBuildTool\Platform\Android\UEDeployAndroid.cs:line 4801
Log.WriteException:    at AndroidPlatform.Package(ProjectParams Params, DeploymentContext SC, Int32 WorkingCL) in D:\Build\++UE4\Sync\Engine\Source\Programs\AutomationTool\Android\AndroidPlatform.Automation.cs:line 713
Log.WriteException:    at Project.Package(ProjectParams Params, Int32 WorkingCL) in D:\Build\++UE4\Sync\Engine\Source\Programs\AutomationTool\Scripts\PackageCommand.Automation.cs:line 35
Log.WriteException:    at BuildCookRun.DoBuildCookRun(ProjectParams Params) in D:\Build\++UE4\Sync\Engine\Source\Programs\AutomationTool\Scripts\BuildCookRun.Automation.cs:line 217
Log.WriteException:    at BuildCookRun.ExecuteBuild() in D:\Build\++UE4\Sync\Engine\Source\Programs\AutomationTool\Scripts\BuildCookRun.Automation.cs:line 39
Log.WriteException:    at AutomationTool.BuildCommand.Execute() in D:\Build\++UE4\Sync\Engine\Source\Programs\AutomationTool\AutomationUtils\BuildCommand.cs:line 263
Log.WriteException:    at AutomationTool.Automation.Execute(List`1 CommandsToExecute, Dictionary`2 Commands) in D:\Build\++UE4\Sync\Engine\Source\Programs\AutomationTool\AutomationUtils\Automation.cs:line 547
Log.WriteException:    at AutomationTool.Automation.Process(String[] Arguments, StartupTraceListener StartupListener) in D:\Build\++UE4\Sync\Engine\Source\Programs\AutomationTool\AutomationUtils\Automation.cs:line 511
Log.WriteException:    at AutomationTool.Program.MainProc(String[] Arguments, StartupTraceListener StartupListener) in D:\Build\++UE4\Sync\Engine\Source\Programs\AutomationTool\Program.cs:line 175
Log.WriteException:    at AutomationTool.Program.<>c__DisplayClass1_0.<Main>b__2() in D:\Build\++UE4\Sync\Engine\Source\Programs\AutomationTool\Program.cs:line 87
Log.WriteException:    at AutomationTool.InternalUtils.RunSingleInstance(Func`1 Main) in D:\Build\++UE4\Sync\Engine\Source\Programs\AutomationTool\AutomationUtils\Utils.cs:line 739
Log.WriteException:    at AutomationTool.Program.Main(String[] Arguments) in D:\Build\++UE4\Sync\Engine\Source\Programs\AutomationTool\Program.cs:line 87
Log.WriteException: ==============================================================================
Program.Main: AutomationTool exiting with ExitCode=1 (Error_Unknown)