Android publishing: which architectures?

W

Wahoo_M1

Guest
Hi all-

1. Of the 4 android architectures available in GMS 2, which would you recommend building to? Have to publish 64 bit now for Play Store requirements, but trying to otherwise minimize package size.

2. Is it possible to upload different APKs with the different architectures (sort of like what an android App Bundle would do), so each has the smaller size but the appropriate architecture is served to each user? I don't think so as you can't have two APKs with the same version number, but don't know.

Apologies if this has already been covered, searched the forums to no avail.

Thanks!
 

Yal

šŸ§ *penguin noises*
GMC Elder
I found this in like 30 seconds of googling: https://stackoverflow.com/questions/33228158/android-architecture-usage/42067050

Accepted answer:
First off, if you're worring about binary size, you don't really need arm64-v8a, all those devices can run the armeabi-v7a binaries just fine. Only if you really need to cram the last extra performance out of it, it might be worthwhile.

As for armeabi and ARMv6; Android itself doesn't officially support it any longer, since Android 4.4 (October 2013) - and since Android 4.0 it should be much less common (from that version, AOSP source requires modifications to still build for ARMv6). So in practice, if you aren't supporting versions below 4.4, you can drop that one without any significant loss.

Also, for x86; many of those devices ship with surprisingly decent emulation of arm binaries, so those can manage with the armeabi-v7a version just fine as well.
Basically, if you only wanna pick one architecture, just settle with armeabi-v7a. (which is short for "ARM Embedded, Application Binary Interface version 7a", if you're curious why there's so many similar names - embedded ARM is optimized for portable/embedded devices compared to standard ARM, and the ABI is basically the processor instruction / machine code API which is why there's so good compatibility between different versions - v8 is basically just an extension of v7 which adds a bunch of new stuff, all the v7 stuff is still there, and ARM is a RISC architecture that's really easy to emulate compared to the Intel instruction set monstrosity, even if you're not going to get optimal performance)
 
Top