Android build from unity not 64 bit compliant

When building up out of Unity 2020.3.15f2, I can’t update to SDK 30, nothing but errors, so I export the package, fix the few issues in Android studio that exist, then just build up the package for digital signature, once I upload the APK to the android store I get 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: [1]
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.

That said, how do I make the build 64 bit compliant since updating the SDK to 30 is literally impossible for me right now, spent about 2 full days trying to get Unity to go beyond 29 with nothing but failure, did a ton of google searching and they said that 2020 will not update, instead use AR? that made no sense, so that is why I did the export and used android studio to build.

Any suggestions as to what I am doing wrong?

Please note, this is using the 3D mobile blueprint and consists of minimal information from my full project, so only libraries in use are Unity libraries, no custom libraries, if that helps.

UPDATE: I have switched to IL2CPP ARM64 and now simply stuck on the 29 vs 30 issue for the SDK, so trying to get that to work because when I export out and bring into Android Studio I am having other build issues using this build method.

After switching to the SDK folder with the corrected SDK, this is the next list of issues
Starting a Gradle Daemon, 1 incompatible and 4 stopped Daemons could not be reused, use --status for details

Configure project :launcher
WARNING: The option setting ‘android.enableR8=false’ is deprecated.
It will be removed in version 5.0 of the Android Gradle plugin.
You will no longer be able to disable R8
> a long list of the following
Mapping new ns http://schemas.android.com/repository/android/common/02 to old ns http://schemas.android.com/repository/android/common/01
Mapping new ns http://schemas.android.com/repository/android/generic/02 to old ns http://schemas.android.com/repository/android/generic/01
Mapping new ns http://schemas.android.com/sdk/android/repo/addon2/02 to old ns http://schemas.android.com/sdk/android/repo/addon2/01

Fixing Unity Export build:

First export from Unity <

Next upgrade the project in Android Studio after imported, this is done through the upgrade assistant. At the writing of this article, the current AGP is 4.0.1 from Unity and the target is 7.0.2 from Android with Java8. Also do the recommend post-upgrade steps and run it.

After you click on “Run selected steps” you should see “nothing to do” in this window.
Next, click on Build then Make Project to see additional errors that need cleaned up.
First, clean out the android.enableR8 from the gradle.properties file
This is located in the Gradle Scripts branch, open and edit it and remove the android.enabledR8 line and save.
Now next fix is in the unityLibrary branch since you will see the following error:

Execution failed for task ‘:unityLibrary:processDebugManifest’.

A failure occurred while executing com.android.build.gradle.tasks.ProcessLibraryManifest$ProcessLibWorkAction
Manifest merger failed : android:exported needs to be explicitly specified for . Apps targeting Android 12 and higher are required to specify an explicit value for android:exported when the corresponding component has an intent filter defined. See <activity>  |  Android Developers for details.

This is located in the unityLibrary branch, under manifests is the AndroidManifest.xml

Specific line missing it:

Just add it to that line:

It is also missing here:

Add it to the end of that also, then build.
All of the <uses-feature need moved above the branch, by default they are below it.
This feature does not require permissions, so remove the android:exported=”true” from this line

All that said and done you should be able to build a signed package in Android Studio now.
There doesn’t seem to be a clean way inside of Unity that I am aware of to build against SDK 30, please correct me if you have another way to accomplish this.

Sadly, even going through all that to get a clean build, the upgrade to the project to make it deploy to the android play store looses things, like the GUI is missing text, the button is missing text, the actions don’t work, so looking for a clean way to update to SDK 30 which is now the minimum play store accepts period, I can’t upload a SDK 29 build at all and Unity doesn’t build to SDK 30 natively and won’t let me update to SDK 30.

For anyone who might find this in the future, here’s an explanation what to do How to successfully SDK30 and Gradle 7.x? - Unity Engine - Unity Discussions