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, я все еще получаю сообщение о том, что файлы не разделены соответствующим образом по версии архитектуры. Есть ли что-то еще, что я должен был сделать?
Я получил электронное письмо со следующим сообщением: «К 1 августа 2019 г. все приложения, использующие собственный код, должны предоставить 64-разрядную версию в дополнение к 32-разрядной версии, чтобы опубликовать обновление. В январе прошлого года мы повторили, что это требуется, чтобы освободить место для инноваций и в ожидании будущих устройств Android, поддерживающих только 64-битный код». Я понял, что должен предоставить отдельную 64-битную версию, но я не уверен в этом на 100%.
Это означает, что все приложения должны поддерживать 64-битные процессоры. Это не означает, что им нужны отдельные пакеты приложений. Хотя это не помешает, у вас будут загрузки меньшего размера из игрового магазина. Так что это не пустая трата времени, хотя я настоятельно рекомендую вам автоматизировать загрузку сборки с помощью Fastlane или тому подобного, если вы делаете это.
Что касается двоичных файлов x86-64, вы уверены, что все ваши библиотеки их предоставляют? Это то, что беспокоит меня меньше всего, поскольку единственное основное использование x86-64 на устройствах Android - это эмуляторы - 99%+ всех телефонов / планшетов - ARM.
Раньше я пытался разделить apk-файл, но у меня возникли некоторые проблемы, и я просто добавил его в свой список дел ;) Но, поскольку гугл напомнил мне об этом, я решил, что это нужно сделать.
Хорошо, я нашел это. Следует использовать «x86_64» вместо «x86-64». Затем он генерирует все 4 версии.
Я думаю, вы запутались. Google установил дату, когда все приложения должны поддерживать 64-битную версию, а не дату, когда все приложения должны иметь отдельный 64-битный APK. Поддержка с помощью пакета APK с несколькими ABI по-прежнему разрешена. Все это начинается с 1 августа 2019 года (за некоторыми исключениями).