Как проверить в какие архитектуры нужно включить .so файлы?
Проблема вот в чем, я использую нативный код который компилируется и собирается для каждой архитектуры как копия, то есть есть у меня my_native_lib.so и я использую 4 архитектуры "arm64-v8a", "armeabi-v7a", "x86", "x86_64" значит в итоге my_native_lib который весит 10Мб скомпилируется для каждой и получить и итоге, что апк прибавит +40Мб (+-).
Теперь на моем примере, мое приложение использует opencv, .so которой весит ~63Мб то есть он будет скомпилирован для каждой архитектуры. Я добавил фильтр
ndk {
abiFilters "arm64-v8a", "armeabi-v7a", "x86", "x86_64"
}
и немного сьекономил места исключивши MIPS, но вопрос в том, как можно понять какие архитектуры можно еще исключить? Или вот эти 4 "arm64-v8a", "armeabi-v7a", "x86", "x86_64" это основные и никуда от них не деться?
P.S. вроде как opencv должен собираться только для x86_64 , но судя по скриншоту он собирается для каждой (размер в каждой следующей меньше, но все равно)
Ответы (1 шт):
Можно спокойно оставить только armeabi-v7a > 90% устройств и x86 - несколько процентов
mips- он удален из поддержки последних версий NDKarm64-v8a- 64-х разрядная архитектура ARM - обычныйarmeabi-v7aего поддерживаетx86_64- не используется в Android устройствах (в районе 0%)

