Размер моего приложения достиг 117 МБ, так как магазин воспроизведения не позволяет загружать файлы apks, если он превышает 100 МБ.

Поэтому я использовал split и создал несколько версий apk, каждая на основе разных ABI

Если я анализирую universal-apk, у меня есть ABI's этого типа в папке lib;

  • armeabi - v7a
  • x86
  • armeabi

enter image description here

Я использовал это, чтобы создать separate apk для каждого abi

splits {
    abi {
        enable true
        reset()
        include 'x86', 'armeabi-v7a', 'armeabi'
        universalApk true
    }
}

Теперь в результате я получаю 4 типа apk. Размер universal-apk составляет 117 МБ, а armeabi - 68 МБ.

enter image description here

Из этого очевидно, что я просто не могу загрузить universal-apk в игровой магазин, поэтому в конечном итоге я загружу 3 apk's в игровой магазин.

Теперь мой вопрос: что будет с теми пользователями, чьи cpu architecture не попадают в эти категории.

Я заметил, что Galaxy S7 - это arm64-v8a, на рынке будут доступны и другие архитектуры, кроме этих, поэтому что произойдет с этими устройствами, если universal-apk не существует, или armeabi-v7a и x86 достаточно для таргетинга на все устройства, доступные на рынке.

Уменьшит ли это количество целевых пользователей приложения? Я не могу узнать ABI share on Google Play

3
dev90 3 Янв 2018 в 17:02

2 ответа

Лучший ответ

Первый шаг - всегда работать с данными. Взгляните на своих существующих пользователей в консоли разработчика Play, чтобы узнать, каково распределение для ваших пользователей.

Пользователи без одного из этих ABI получат сообщение «Это приложение несовместимо с вашим устройством».

Однако x86_64 и arm64-v8a обратно совместимы с x86 и armeabi-v7a. Покрывая те, которые вы выбрали, он будет работать практически на всех устройствах, поэтому, вероятно, не стоит беспокоиться о mips.

Ваши пользователи на новых устройствах получат лучшую производительность, если вы также добавите варианты x86_64 и arm64-v8a, но он должен работать и без этого.

Armeabi сейчас очень редко, но некоторые очень старые устройства имеют это ограничение. Если вы ориентируетесь на современную версию Android (например, ICS +), вы, вероятно, будете в порядке.

3
Nick Fortescue 5 Янв 2018 в 14:32

Список всех поддерживаемых ABI можно найти здесь:

https://developer.android.com/ndk/guides/abis.html#sa

Если вы удалите опцию reset (), то разбиения будут построены для каждого поддерживаемого ABI.

1
dazza5000 3 Янв 2018 в 14:47