Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Android live build jars: arm64, armabi, mips, mips64, x86

I am using an external library that uses a native lib. In my APK (and inside this external library) separate jars are packaged for:

  • arm64-v8a
  • armeabi
  • armeabi-v7a
  • mips
  • mips64
  • x86
  • x86_64

There jars are quite large. I want to remove some of them. Are there any LIVE devices using x86? Is there anything else no longer needed, for example armeabi, when my minSdkVersion = 14?

like image 720
Frank Avatar asked Oct 16 '25 15:10

Frank


1 Answers

If performance is not vital you can safely drop all 64 bit libraries without losing support for any devices. All Android 64 bit processors are backwards compatible with 32 bit libraries.

In the Google Play developer console it is also possible to upload a separate APK for each target ABI. This reduces APK size as you no longer have the overhead of including all native libraries. A warning that doing this makes the build, distribution and update process a little more complicated. You can read about the Multiple APK support in the Android documentation and about how to version your app when building for multiple architectures.

It is possible to get the number of devices that are supported in the Play Store by uploading an APK which only targets a specific architecture. The results for me when uploading an APK targeting Android 4.0+ and a specific ABI were:

armeabi-v7a:  7986 devices
x86:          244 devices

Here is a table of example devices for each architecture:

ABI Android support

like image 94
BrentM Avatar answered Oct 18 '25 08:10

BrentM



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!