[UE4.7.0 Bug] Deploying to Nexus 9: ERROR: Unknown NDK architecture 'arm64-v8a'

Dear Epic Support/Community,

I’m getting the following error, when trying to deploy to a Nexus 9:

ERROR: Unknown NDK architecture 'arm64-v8a'

I’ve tried later versions of the Android Tegra Pack but with no luck.

Hope anyone can help.


Hi Minxies,

Can you attach the entirety of your output logs for this failure? That will give us a little more information about your issue.

Thanks very much!

I am getting the same thing with 4.7.2. Here error list

BuildCommand.Execute: ERROR: BUILD FAILED
Program.Main: ERROR: AutomationTool terminated with exception:
Program.Main: ERROR: Exception in UnrealBuildTool: ERROR: Unknown NDK architecture ‘arm64-v8a’
Stacktrace: at UnrealBuildTool.Android.UEDeployAndroid.GetUE4Arch(String NDKArch)
at AndroidPlatform.GetBestDeviceArchitecture(ProjectParams Params)
at AndroidPlatform.Deploy(ProjectParams Params, DeploymentContext SC)
at Project.Deploy(ProjectParams Params)
at BuildCookRun.DoBuildCookRun(ProjectParams Params)
at BuildCommand.Execute()
at AutomationTool.Automation.Execute(List1 CommandsToExecute, CaselessDictionary1 Commands)
at AutomationTool.Automation.Process(String[] CommandLine)
at AutomationTool.Program.MainProc(Object Param)
at AutomationTool.InternalUtils.RunSingleInstance(MainProc Main, Object Param)
at AutomationTool.Program.Main()
Program.Main: ERROR: ERROR: Unknown NDK architecture ‘arm64-v8a’

Hi theProfessor,

Is your issue also specific to the Nexus 9? If it is not, do you mind opening a separate AnswerHub thread with your issue, and also including the entirety of your failed build output logs? This will help us keep track of issues that may or may not be related. Thanks very much!

I am deploying on the Nexus 9.

Can you include the failed build output logs for your project to this thread? Thanks very much!

Try this link

Do you mind setting that so that anyone can see? It would otherwise mean using my work email to ask permission to view the file, which I can’t really do. You can try saving to a notepad and attaching directly to this thread, also.

link text

Ok, I may have found the crucial piece of info:

The Nexus 9 runs on a 64-bit Dual Core processor, which makes it the first Android device to ship with a 64-bit ARM instruction set. Support for 64-bit processors was just added in Android 5.0, so if you have an NDK app, enable it by updating the APP_ABI value in your Application. mk file:

APP_ABI := armeabi armeabi-v7a arm64-v8a x86 x86_64 mips mips64

This would likely explain why you’re both getting the ERROR: Unknown NDK architecture ‘arm64-v8a’

Give that a try and let me know if it works.

No still no luck. Here is the Application.mk file
APP_ABI := armeabi armeabi-v7a arm64-v8a x86 x86_64 mips mips64
APP_PLATFORM := android-9

that is the APP_ABI info that you currently see in the NDK? Did you try replacing it with APP_ABI info in the above comment?

Not following you.
The Application.mk that I am using is

APP_ABI := armeabi armeabi-v7a arm64-v8a x86 x86_64 mips mips64
APP_PLATFORM := android-9

Try opening the application makefile, and replacing the info that is there with this: APP_ABI := armeabi armeabi-v7a arm64-v8a x86 x86_64 mips mips64

Save the file and try once more. Thanks!

OK. The mk file looks like this

APP_ABI := armeabi-v7a
APP_PLATFORM := android-9

I changed it to this

APP_ABI := armeabi armeabi-v7a arm64-v8a x86 x86_64 mips mips64
APP_PLATFORM := android-9

Then launched
Still the same error.

Can you try once more leaving off the APP_PLATFORM section? Unfortunately we don’t have an Nexus 9 for me to assist on this end. Here again is the blog that explains how to update the NDK for the Nexus 9. It might be more clear than I am.

Made the change. Same error. I even installed tadp-4.0r1. It says this fixes the arm64 problem. Will again on Monday. Have good weekend.

Goto Project Setting>Android and look at Build. It has grayed out "Support armv7(aka armeabi-v7a) it needs to be arm64-v8a. How do I change this?

Add this code to UEDeployAndroid.cs(292)

case “arm64-v8a”: return “-arm64”;

Where is uedeployandroid.cs? Do I have to recompile 4.7.2 from the source?