Я разрабатываю приложение, выпущенное в Google Play.Я получил письмо от Google, что мое приложение должно соответствовать новым требованиям для 64-битных устройств (https://developer.android.com/distribute/best-practices/develop/64-bit)
Мое приложение использует библиотеку ffmpeg, которая не обеспечивает сборку для архитектуры 64: https://github.com/WritingMinds/ffmpeg-android-java
Apk анализ с этой библиотекой выглядел так:
Как видите, представлены только 32-битные архитектуры.
Итак, я заменил старый FFmpegбиблиотека с новым: https://github.com/bravobit/FFmpeg-Android Также я добавил в свое приложение строку build.gradle
file:
ndk.abiFilters 'armeabi-v7a','arm64-v8a','x86','x86_64'
Затем я собрал новый файл apk и проанализировал его. Есть результат:
Вопрос 1: Является ли каталог arm
каталогом для 64-разрядных систем?
Вопрос 2: Гдеотсутствует каталог libs
из предыдущего скриншота? Это нормально?
Это еще не все. Как вы видите, размер APK увеличился на 20 Мб. Это очень плохо, поэтому я решил применить механизм App Bundle к своемуЯ добавил несколько строк в файл build.gradle
моего приложения:
bundle {
density {
enableSplit = true
}
abi {
enableSplit = true
}
}
И собрал Bundlе тогда.После этого я ожидаю Bundle с apk-файлами, разделенными на плотность и архитектуру abi.Но я получаю только Bundle только с делением плотности, нет разных apk для разных процессоров:
Вопрос 3: почемумой пакет не содержит apk делится на архитектуры процессора?Все разделенные по плотности apks содержат библиотеки для обеих архитектур (arm и armeabi)