V
V
Vitaly Stolyarov2017-03-16 16:39:47
Android
Vitaly Stolyarov, 2017-03-16 16:39:47

Under which ABIs should libraries be built and what is their compatibility?

I found out on the net that the more common ones are x86_64 and armeabi-v7a, but there is no exact data on this.
There are also armeabi, x86, arm64-v8a
Which ones are compatible with others?
armarch_snapdragon_whitepapersummary_top

Answer the question

In order to leave comments, you need to log in

2 answer(s)
A
Alexander Varakosov, 2017-03-16
@thelongrunsmoke

Minimum armeabi-v7a and x86_64 (primarily for emulators).
The old armeabi should not be used - the size of the binary grows rapidly as floating point calculations appear, and the speed drops, and there is no need for it.
There are few devices that need arm64-v8a, collect as needed. The same goes for mips and x86.
By the way, many libraries only ship with armeabi-v7a binaries, which is bad.

R
Rou1997, 2017-03-16
@Rou1997

armeabi will run on armeabi-v7a and that one on arm64-v8a, so if you want to get an application that works on all ARMs, then armeabi is best, but it has its drawbacks, so armeabi-v7a might be preferred, but not arm64-v8a, which is too rare.
x86 will work on x86_64, so it makes sense to build x86 as well, but this is generally very little needed, Android x86 is emulators, but there are almost no such devices.
mips is not needed.
In general, the question is too abstract, it is worth starting from a specific application, for example, if there is HelloWorld that does not weigh much, then I would simply collect it for everyone, implement analytics, and then I would look further. Or armeabi + x86, and armeabi-v7a would only be engaged in real problems that have arisen and are solved by this transition.

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question