App Bundle: armeabi-v7a is only generated despite arm64 used

Hi there.
I’m using Unity 2018.4.2f1 here to generate an *.aab file out of our game.
We got the armv7 and arm64 checkboxes checked in the PlayerSettings,
we’re using IL2CPP, and we’re using the older dotnet 3.5 because of legacy reasons,
and we’re pretty much flawlessy generate apk and aab builds out of that.
We also got a custom gradle template put in place. I haven’t yet submitted
this as a bug.

The problem is, that when uploading to google play, we see that the aab contains
no arm64 inside the build, only armeabi-v7a. Also our apks seem to not contain 64bit
code. That happens despite the fact that we see the Unity is building the 64bit binary.

Has anyone had a similar issue and could help with that? Thanks in advance.

We’re running into the same thing with our game game. We’re currently on Unity 2018.3.12f1, but I’ve confirmed that the issue is still happening on 2018.4.4f1.

I’ve tried to do some more digging/testing and what I’ve noticed is that if I generate an ARMv7 APK, it shows up in the Google Play Console with the expected armeabi-v7 architecture. But if I generate an ARM64 APK, it shows up in the Google Play Console with “none” for supported platforms.

I’ve also confirmed that if I upload the Android App Bundle that Unity produces, the Google Play Console still gives me warnings about not having 64 bit support. This seems to confirm that it’s not just an issue with the Google Play Console displaying incorrect information.

OK, I GOT THIS RESOLVED. At least in my case, on Unity 2018.4.2f1.

  1. Made a new Unity project. Set it to app bundle, and IL2CPP + desired architectures (armv7 + arm64 with x86 turned off).
  2. In project settings of this new project, I clicked ‘Custom Gradle Template’ checkbox. This generates a new mainTemplate.gradle in plugins/android.
  3. Checked this new template (in new project) against our current one (in our game project). It turned pretty much that we had to add a lot of additional stuff here and there to our current template to make it work.
2 Likes

Ah, it looks like the issue for us was in our Gradle template as well! Specifically, there was a chunk of configuration in there generated by the Android Jar Resolver that was explicitly excluding /lib/arm64-v8a/*, so Unity was generating the 64 bit code but the it wasn’t getting included in either APKs or App Bundles. This was also brought up in [another forum thread discussing this issue]( Native method not found: com.unity3d.player.UnityPlayer.nativeRestartActivityIndicator:()V page-2#post-4774940).

Hopefully this ends up being helpful for someone else!

1 Like

You saved my life, thanks!!!