58

I've been trying to upload .abb to the google play console. When I upload it, it gives me this error:

This release is not compliant with the Google Play 64-bit requirement

The following APKs or App Bundles are available to 64-bit devices, but they only have 32-bit native code: 2.

From 1. August 2019 all releases must be compliant with the Google Play 64-bit requirement.

Include 64-bit and 32-bit native code in your app. Use the Android App Bundle publishing format to automatically ensure that each device architecture receives only the native code it needs. This avoids increasing the overall size of your app.

I tried to export an 64-bit version but I couldnt do it.

Elia Schenker
  • 802
  • 1
  • 7
  • 19

1 Answers1

124

Unity supports x64 since 2017 LTS. To enable it you can go to File > Build Settings > Player Settings.

There under "Other Settings" you have to change your Script Backend to IL2CPP, and you will have the ARM64 checkbox active. Check it.

ARM64

And then you can either select to generate Split APKs by Target Architecture Split APKs

or in your Build Settings dialog choose to Build App Bundle (Google Play). Build App Bundle

Hope it helps, you will need to have the Android NDK for this.

danae
  • 1,402
  • 1
  • 13
  • 10
  • 11
    I had to download ndk version 16b in order to build the 64 bit bundle, you can find it here https://developer.android.com/ndk/downloads/older_releases.html. – CaTs Jun 29 '19 at 08:14
  • Hi, I'm using Unity 2018.3.11f1 and want to upload to Google Play Store. I then need to generate an App Bundle and I checked the Build Settings>Build App Bundle (Google Play). ARM64 are also checked as described by danae (and ARMv7 and x86 too). However, I still have the same error (This release is not compliant with the Google Play 64-bit requirement). – Diphaze Sep 02 '19 at 05:24
  • 12
    Solved: to generate 64-bit aab, we need to uncheck x86 (in Player Settings>Other settings>Target architecture). There is a severe warning generated, though: "Device support removed". According to this thread, it's not too much of a problem : https://stackoverflow.com/questions/54397329/device-support-warning-google-play-2019 – Diphaze Sep 02 '19 at 08:04
  • Does anyone know why unity doesn't support ARM64 with mono backend? – zwcloud Oct 26 '19 at 09:23
  • What is the difference between Mono and IL2CPP? I'm new to unity and android. – Squareoot Oct 31 '19 at 17:26
  • 3
    @Squareoot mono generates 32-bit code (or output) whereas IL2CPP generates 64-bit code. Note: IL2CPP requires android NDK. – Soorya Dec 09 '19 at 06:33
  • Thanks bro, I do not understand how anyone can understand these things – Squareoot Dec 09 '19 at 20:22
  • 1
    Doesn't work for me, I have checked ARM64 and x86. I'm not able to choose split APKs by target architecture. There is a grey box saying "Split APKs is diasbled when building Android AppBundle". So I'm building one .aab file, which should cointain both?? But google still gives me this warning. – Rasmus Puls Feb 14 '20 at 11:54
  • Make sure to uncheck x86 architecture in order to generate the 64bit APK (or Android app bundle). There is no need to split the APK by target architecture, once you uncheck the x86 you should be fine with just one .abb file – Maksymilian Wojczuk Dec 06 '20 at 22:52
  • x64 (aka x86-64) is a different architecture than Arm64. Please consider updating the first sentence of your answer so people searching for building to x64 don't wind up here. – BinaryNate Nov 15 '21 at 17:23