Как разделить apk для нескольких архитектур процессоров? - PullRequest
0 голосов
/ 11 июля 2019

Я разрабатываю приложение, выпущенное в Google Play.Я получил письмо от Google, что мое приложение должно соответствовать новым требованиям для 64-битных устройств (https://developer.android.com/distribute/best-practices/develop/64-bit)

Мое приложение использует библиотеку ffmpeg, которая не обеспечивает сборку для архитектуры 64: https://github.com/WritingMinds/ffmpeg-android-java

Apk анализ с этой библиотекой выглядел так: enter image description here

Как видите, представлены только 32-битные архитектуры.

Итак, я заменил старый FFmpegбиблиотека с новым: https://github.com/bravobit/FFmpeg-Android Также я добавил в свое приложение строку build.gradle file:

  ndk.abiFilters 'armeabi-v7a','arm64-v8a','x86','x86_64'

Затем я собрал новый файл apk и проанализировал его. Есть результат: enter image description here

Вопрос 1: Является ли каталог arm каталогом для 64-разрядных систем?

Вопрос 2: Гдеотсутствует каталог libs из предыдущего скриншота? Это нормально?

Это еще не все. Как вы видите, размер APK увеличился на 20 Мб. Это очень плохо, поэтому я решил применить механизм App Bundle к своемуЯ добавил несколько строк в файл build.gradle моего приложения:


    bundle {
        density {
            enableSplit = true
        }
        abi {
            enableSplit = true
        }
    }

И собрал Bundlе тогда.После этого я ожидаю Bundle с apk-файлами, разделенными на плотность и архитектуру abi.Но я получаю только Bundle только с делением плотности, нет разных apk для разных процессоров:

enter image description here

Вопрос 3: почемумой пакет не содержит apk делится на архитектуры процессора?Все разделенные по плотности apks содержат библиотеки для обеих архитектур (arm и armeabi)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...