I have created an App which uses a native so
library (which I have created too, based on an Open Source project). The so
library is about 100MB. The toolchain creates 4 variants of that so
file for different architectures (x86
, armeabi
, armeabi-v7
, mips
). So the resulting app is about 350MB.
To this point, I think it's reasonable, because the target device could have any of those architectures and so having all of the variants are needed.
But why all of them are being deployed when the App is installed?! (Settings->Apps shows that it occupies the same 350MB) A specific device surely is in one specific architecture. Isn't the Installer smart enough to know only one of them is needed? Or that we have to specify this somehow in somewhere? (in that case, how?) Or that I am wrong to think this way?