Unity aab not compliant with the Google Play 64-bit requirement

Dan B picture Dan B · Aug 2, 2019 · Viewed 8.3k times · Source

I have a Unity project that I'm switching from APKs to AABs (app bundles). Previously, when I was building it as an APK, the Google Play Console told me the APK was 64-bit compliant.

Now that I'm building an aab, I'm getting the warning:

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

  1. I have both ARM7 and ARM64 architectures set.
  2. I am excluding x86.
  3. When I open the .aab in an archive viewer, the lib folder has all of the .so's for both arm64-v8a and armabi-v7a.
  4. I'm using IL2CPP, .NET 4.x
  5. I'm using Unity 2018.3.7f1
  6. My ndk version is 16b
  7. My Android Studio is up to 3.4.2 and gradle is 3.2

A lot of similar threads here talk about following the "Learn more" links, which I've done. I had already done all of the work to get my app 64-bit compliant before switching to app bundles.

Other threads talk about Android Studio solutions, which I can't use because my automated build process involves building with Unity from command line, so it has to be Unity configurations or bust.

My expectation was the app bundles were supposed to be the hot new way to let Google build better APKs for you, but it seems like it's getting confused on whether or not aabs are actually 64-bit compliant, which seems to defeat the whole purpose.

Is this a Unity problem, does Google have an error in their system with regards to app bundles, or is there some other step I'm missing?

Answer

Maarti picture Maarti · Aug 21, 2019

For those who have this problem since yesterday (August 19, 2019):

In Player Settings > Other Settings you must now uncheck the x86 box (It is for the 32-bit Intel architecture).

enter image description here


You will now only have the following warning:

The device types on which your application can be installed will be more restricted.

But, in my case, it drops from 12392 devices to 12385 devices.

Here is the opinion of a Unity member on the issue:

x86 is used by less than 0.4% of all Android devices, so it shouldn't have any real impact.

x86 target will be removed completely in Unity 2019.3.