Управление выпуском архитектуры для реактивного Android

Google установил крайний срок для обновления файлов apk для приложений, поэтому у них должны быть отдельные файлы для всех версий архитектуры.

Итак, в файле build.gradle я внес следующие изменения:

def enableSeparateBuildPerCPUArchitecture = true
...
splits {
        abi {
            ...
            include "armeabi-v7a", "x86", "arm64-v8a", "x86-64"
            ...
        }
    }
...
applicationVariants.all { variant ->
        variant.outputs.each { output ->

            def versionCodes = ["armeabi-v7a":1, "x86":2, "arm64-v8a":3, "x86-64":4]
            ...
        }
    }

Сначала я подумал, что это работает нормально, так как в каталоге ...android\app\build\outputs\apk\release я нашел несколько файлов вместо одного. Однако первым, что меня удивило, было то, что я получил 3 версии файлов: arm64-v8a, x86 и armeabi-v7a. Верно ли, что версия x86-64 не была сгенерирована?

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

Я думаю, вы запутались. Google установил дату, когда все приложения должны поддерживать 64-битную версию, а не дату, когда все приложения должны иметь отдельный 64-битный APK. Поддержка с помощью пакета APK с несколькими ABI по-прежнему разрешена. Все это начинается с 1 августа 2019 года (за некоторыми исключениями).

Gabe Sechan 17.06.2019 22:07

Я получил электронное письмо со следующим сообщением: «К 1 августа 2019 г. все приложения, использующие собственный код, должны предоставить 64-разрядную версию в дополнение к 32-разрядной версии, чтобы опубликовать обновление. В январе прошлого года мы повторили, что это требуется, чтобы освободить место для инноваций и в ожидании будущих устройств Android, поддерживающих только 64-битный код». Я понял, что должен предоставить отдельную 64-битную версию, но я не уверен в этом на 100%.

doubleW 17.06.2019 22:11

Это означает, что все приложения должны поддерживать 64-битные процессоры. Это не означает, что им нужны отдельные пакеты приложений. Хотя это не помешает, у вас будут загрузки меньшего размера из игрового магазина. Так что это не пустая трата времени, хотя я настоятельно рекомендую вам автоматизировать загрузку сборки с помощью Fastlane или тому подобного, если вы делаете это.

Gabe Sechan 17.06.2019 22:11

Что касается двоичных файлов x86-64, вы уверены, что все ваши библиотеки их предоставляют? Это то, что беспокоит меня меньше всего, поскольку единственное основное использование x86-64 на устройствах Android - это эмуляторы - 99%+ всех телефонов / планшетов - ARM.

Gabe Sechan 17.06.2019 22:14

Раньше я пытался разделить apk-файл, но у меня возникли некоторые проблемы, и я просто добавил его в свой список дел ;) Но, поскольку гугл напомнил мне об этом, я решил, что это нужно сделать.

doubleW 17.06.2019 22:20
0
5
458
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Хорошо, я нашел это. Следует использовать «x86_64» вместо «x86-64». Затем он генерирует все 4 версии.

Другие вопросы по теме