Compiling Android x86 Engine from GitHub Fails

I’m attempting to build Android/x86 versions of the Unreal Engine. This (still) requires building from GitHub.

Main Build Environment: VS2013 Express on Windows 8.1 with NVIDIA CodeWorks for Android

Secondary Build Environment; VS2015 Community on Windows 10 with NVIDIA CodeWorks for Android.

With UE 4.6 and 4.7 this was relatively straightforward. Go into Configuration Manager, change the target to Shipping, the Platform to Android, and then edit UE4 to read x86 as the architecture.

Today however, I can’t get the UE4 target to read x86 under Android. When I switch the configuration to Android, I’m presented with UE4 architectures “Win32” (which builds ARM) and “x64” (which fails).

Is this a known issue? I’ve seen one or two people compile with 4.10 apparently successfully (after many tries), but I seem to keep failing on this one, and there is no step-by-step guide that matches what I’m seeing with 4.10 and 4.11. Thanks.

And if this is a known issue - what is the workaround? What is the last-known-good version for Android/x86?

Feedback: Please make Android/x86 part of the mainline build. Between the Nexus Player, Zenfone 2, and Intel’s upcoming Broxton smartphones, the demand is there.

This guide is mostly up to date. It looks a little different with 4.11 but the basics are the same.

It also looks like your version of Codeworks doesn’t match what UE4 distributes. Check out the Android Quick Start guide.

4.11 also had a bug that was blocking compilation until recently. See this checkin for the fix.

So, the Intel guide doesn’t cover building the engine. I actually may be tasked with writing that once we get something reproducible.

The problem with CodeWorks (previously AndroidWorks, previously TDAP) has been the tumult that has been through. TDAP 1R1 and Windows 10 aren’t exactly/explicitly compatible. I will downstep to 1R1 and report back.

Now that VS2015 includes the Android SDK and NDK, perhaps we should collaborate on writing a build strategy for that? I suspect (though I haven’t asked) that one company in particular probably doesn’t have a guide… because it involves installing a competitor’s SDK.

+1 for x86 Android in mainline build.

Yeah, you have to build the engine through Visual Studio first for x86. I use the Development Editor configuration and start UE4Editor once things are built. Then I follow the steps outlined in the Intel guide to build and package via the menus.

I use a piecemeal approach to my environment because I’m always testing new versions. Java, SDK, NDK, Ant etc all done as individual components. Probably more work but it gets the job done for me.

VS2015 including the SDK and NDK is certainly interesting. I haven’t tested it but would I’m sure Epic would be interested to hear if people have success with it.

Well, stepping down to AndroidWorks/TDAP 1R1 didn’t help. When I go to Configuration Manager, I still can’t get “x86” under the Android/Shipping/UE4 target. It only shows “Win32” and “x64” as architectures under Android for the UE4 (shipping client) item.

So, I can say at least on two separate build environments for me, following Epic’s guide is now at least somewhat broken.

I’m trying to brute-force past it by creating an entirely new configuration (inside Configuration Manager) and hard-coding x86 in place of x64. But the Android_Shipping_Client still overrides and the build targets only offer “Win32” and “x64”

Pretty convinced this has something to do with Visual Studio itself, either the project files generated or something changed in VS upstream. The Android bits always compile fine for ARM with the versions I’ve tried.

Would love to hear from someone else with a virgin install of VS2013/VS2015 today, and following the guide to setup Android/x86 GitHub engine builds. Would help to hear someone else say “I followed the guide from scratch, and got the same result.”

Thanks, be sure to upvote the issue itself. I have a feeling that the more Epic sees people are having to build the engine from GitHub just to get started on Intel Android development, the more likely they are to mainline it.

You don’t do anything in Visual Studio for this; go into your project’s Config/DefaultEngine.ini and add bBuildForX86=True to [/Script/AndroidRuntimeSettings.AndroidRuntimeSettings] if you have GitHub sources. This is what the “Supports x86” checkbox in the editor does.

Hey, Chris
Could be explain how one gets the github source for this to be enabled?