Android support for installation build generates compiler/linker errors

Attempting to make an installation build using the BuildGraph system on Windows 10 using Visual Studio 2017 will generate errors.

System/User Environment Variables:

ANDROID_HOME=D:\SDKs\Android\NVPACK\android-sdk-windows
ANDROID_NDK_ROOT=D:\SDKs\Android\NVPACK\android-ndk-r14b
ANT_HOME=D:\SDKs\Android\NVPACK\apache-ant-1.8.2
NDKROOT=D:\SDKs\Android\NVPACK\android-ndk-r14b
NDK_ROOT=D:\SDKs\Android\NVPACK\android-ndk-r14b
NVPACK_NDK_TOOL_VERSION=4.9
NVPACK_NDK_VERSION=android-ndk-r14b
NVPACK_ROOT=D:\Android\SDKs\NVPACK
JAVA_HOME=D:\SDKs\Android\NVPACK\jdk1.8.0_77

Using the following command-line:

Engine\Binaries\DotNET\AutomationTool.exe BuildGraph -target=“Make Installed Build Win64” -script=Engine/Build/InstalledEngineBuild.xml -set:WithIOS=false -set:WithTVOS=false -set:WithAndroid=true -set:WithHTML5=false -set:WithLinux=false -set:WithMac=false -set:WithWin32=true -set:WithWin64=true -set:WithPS4=true -set:WithSwitch=true -set:WithXboxOne=true -set:WithDDC=false -NoSign

Here are some of the errors that I’m encountering during the build process:

CommandUtils.Run: Run: D:\Projects\unreal_projects\UnrealEngineSource\Engine\Binaries\DotNET\UnrealBuildTool.exe UE4Game Android Development -generatemanifest -nobuilduht -xgeexport -NoUBTMakefiles -nobuilduht -precompile -architectures=armv7+arm64 -gpuarchitectures=es2 -NoHotReload -ignorejunk
UnrealBuildTool: Facebook SDK not found in D:\Projects\unreal_projects\UnrealEngineSource\Engine\Plugins\Online\OnlineSubsystemFacebook\Source\ThirdParty\Android\NotForLicensees\FacebookSDK
UnrealBuildTool: Facebook SDK not found in D:\Projects\unreal_projects\UnrealEngineSource\Engine\Plugins\Online\OnlineSubsystemFacebook\Source\ThirdParty\Android\NotForLicensees\FacebookSDK
UnrealBuildTool: Facebook SDK not found in D:\Projects\unreal_projects\UnrealEngineSource\Engine\Plugins\Online\OnlineSubsystemFacebook\Source\ThirdParty\Android\NotForLicensees\FacebookSDK
UnrealBuildTool: Compiling Native code with NDK API ‘android-19’
UnrealBuildTool: XGEEXPORT: Exported ‘D:\Projects\unreal_projects\UnrealEngineSource\Engine\Intermediate\Build\UBTExport.000.xge.xml’
CommandUtils.Run: Run: Took 25.5148486s to run UnrealBuildTool.exe, ExitCode=0
CommandUtils.Run: Run: D:\Projects\unreal_projects\UnrealEngineSource\Engine\Binaries\DotNET\UnrealBuildTool.exe UE4Game Android Shipping -generatemanifest -nobuilduht -xgeexport -NoUBTMakefiles -nobuilduht -precompile -architectures=armv7+arm64 -gpuarchitectures=es2 -NoHotReload -ignorejunk
UnrealBuildTool: PLATFORM_ANDROID_NDK_VERSION = 140200
UnrealBuildTool: NDK toolchain: r14b, NDK version: 19, GccVersion: 4.9, ClangVersion: 3.8.275480
UnrealBuildTool: Facebook SDK not found in D:\Projects\unreal_projects\UnrealEngineSource\Engine\Plugins\Online\OnlineSubsystemFacebook\Source\ThirdParty\Android\NotForLicensees\FacebookSDK
UnrealBuildTool: Facebook SDK not found in D:\Projects\unreal_projects\UnrealEngineSource\Engine\Plugins\Online\OnlineSubsystemFacebook\Source\ThirdParty\Android\NotForLicensees\FacebookSDK
UnrealBuildTool: Facebook SDK not found in D:\Projects\unreal_projects\UnrealEngineSource\Engine\Plugins\Online\OnlineSubsystemFacebook\Source\ThirdParty\Android\NotForLicensees\FacebookSDK
UnrealBuildTool: Compiling Native code with NDK API ‘android-19’
UnrealBuildTool: XGEEXPORT: Exported ‘D:\Projects\unreal_projects\UnrealEngineSource\Engine\Intermediate\Build\UBTExport.000.xge.xml’
CommandUtils.Run: Run: Took 19.7237367s to run UnrealBuildTool.exe, ExitCode=0
ParallelExecutor.Execute: Current Dir: D:\Projects\unreal_projects\UnrealEngineSource\Engine\Source
ParallelExecutor.Execute: Building with 8 processes…
ParallelExecutor.Execute: ** For UE4Game-Android-Development
ParallelExecutor.Execute: UE4-AIModule-arm64-es2.a
ParallelExecutor.Execute: D:\SDKs\Android\NVPACK\android-ndk-r14b oolchains/aarch64-linux-android-4.9\prebuilt/windows-x86_64\bin/aarch64-linux-android-ar.exe: AIModule/Module.AIModule.1_of_4.cpp-arm64-es2.o: No such file or directory
ParallelExecutor.Execute: UE4-Core-armv7-es2.a
ParallelExecutor.Execute: D:\SDKs\Android\NVPACK\android-ndk-r14b oolchains/arm-linux-androideabi-4.9\prebuilt/windows-x86_64\bin/arm-linux-androideabi-ar.exe: Core/Module.Core.1_of_8.cpp-armv7-es2.o: No such file or directory
ParallelExecutor.Execute: UE4-Renderer-arm64-es2.a
ParallelExecutor.Execute: D:\SDKs\Android\NVPACK\android-ndk-r14b oolchains/aarch64-linux-android-4.9\prebuilt/windows-x86_64\bin/aarch64-linux-android-ar.exe: Renderer/Module.Renderer.1_of_11.cpp-arm64-es2.o: No such file or directory
ParallelExecutor.Execute: UE4-Engine-armv7-es2.a

As you can see from some of these errors above, the *.o files it’s searching for seem to be in the following location:

I had same problem and solved by fixing code. I made a PR to engine repository but it seems not merged yet. See and apply the fix and you should get build back work.