Missing ABI

Hello ,

I’m developping an Android app in Xamarin Forms. This development in for a specific tablet, a Galaxy Tab active 2. I’m facing constraints and want that app to be 64 bits only. In the Android options on my project, I have only arm64-v8a selected in supported architectures. During deployment of the app, I’m unable to do it because the arm64-v8a is not supported :

Android ABI mismatch. You are deploying an app supporting ‘arm64-v8a’ ABIs to an incompatible device of ABI ‘armeabi-v7a;armeabi’. You should either create an emulator matching one of your app’s ABIs or add ‘armeabi-v7a’ to the list of ABIs your app builds for.

But the tablet has 64-bit compatible processors and the kernel is also 64-bit (uname -m : armv8l).

If I look at CPU capabilities, I have the following specs for ABI :

[ro.product.cpu.abi]: [armeabi-v7a]
[ro.product.cpu.abi2]: [armeabi]
[ro.product.cpu.abilist]: [armeabi-v7a,armeabi]
[ro.product.cpu.abilist32]: [armeabi-v7a,armeabi]
[ro.product.cpu.abilist64]: []

It confirms that arm64-v8a is missing.

My question is : is there any way to add or install arm64-v8a ABI into an existing Android ?

Thanks for any help

Mickaël

Hello Mickaël,

Application Binary Interface (ABI) is very low-level as you can from the article.
Hence it cannot be installed on like an app. I would like to recommend you to build your app according to the ABI/Architecture of your target device. If the an architecture/ABI is missing from your project it might be due underlying libraries/framework used in the project.

You will probably be able to find better answers to your issue on Stack Overflow Xamarin forum threads like this.

Hello,
Thanks for your reply.
Unfortunately, my app has to run on 64-bit. I have already build it in 32-bit to test it but I deal with very (very) large images and the RAM used to load one of them is more than 1Gb. In 32-bit mode, the application cannot use more than 1Gb.
That’s why 64-bit is needed for me.

Mickaël