Justin
Justin

Reputation: 18176

Targeting 64 bit architectures on Xamarin Android

I received an email from Google that we need to start supporting 64-bit CPUs in our Android apps by August 1, 2019. In their documentation, it states that there should be a lib/arm64-v8a folder in your apk contents if you're correctly supporting 64 bit.

enter image description here

In my Xamarin Project Options > Build > Compiler settings, my Platform target is set to "Any" so I would expect it to build both 32 and 64 bit versions. However, when I generate a release build and package it into an apk, when I browse the apk it only has a lib/armeabi-v7a folder, there is no v8a folder. So what do I need to do to support 64 bit architectures?

EDIT: I should have included this screenshot, showing my Supported ABIs:

enter image description here

Upvotes: 27

Views: 11666

Answers (3)

Paul Guckian
Paul Guckian

Reputation: 1

In my case (after many weeks of frustration), it turns out that Google Play Console (depending on app release setting) may try to 'retain' older versions of your application. You need to remove all older versions during the release.

Upvotes: 0

Saamer
Saamer

Reputation: 5099

As @sushihangover mentioned, you just have to Make Sure that on your "Release" configuration, you need to select the arm64-v8a ABI configuration. Remember to "Rebuild All" before you hit "Archive for Publishing" so that you don't run into issues based on cached data. You can view this article for more details and a video.

Upvotes: 2

SushiHangover
SushiHangover

Reputation: 74094

Go into your Project settings / Build / Android Build / Advanced and enable arm64-v8a as one of your supported ABIs.

And then do a fresh build (or a new archive if you are using that feature of VS).

Note: Make sure you do this for your Release configuration

enter image description here

Upvotes: 34

Related Questions