После того, как я загрузил apk в play store, я получил следующее предупреждение. Какие изменения я должен сделать, чтобы выпустить сборку apk с flutter sdk для соответствия требованиям 64-бит?
Смотрите изображение, чтобы увидеть предупреждение.
После того, как я загрузил apk в play store, я получил следующее предупреждение. Какие изменения я должен сделать, чтобы выпустить сборку apk с flutter sdk для соответствия требованиям 64-бит?
Смотрите изображение, чтобы увидеть предупреждение.
Ребята они изменили новые политики для 64-bit
архитектур. Поэтому, пожалуйста, поместите этот код в ваш gradle
ndk.abiFilters 'armeabi-v7a','arm64-v8a','x86','x86_64'
например
android {
compileSdkVersion 28
defaultConfig {
applicationId "com.test.test"
minSdkVersion 15
targetSdkVersion 28
versionCode 1
versionName "1.0"
ndk.abiFilters 'armeabi-v7a','arm64-v8a','x86','x86_64'
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
}
Edit/Update:
Google выпустил Flutter 1.7.8 + hotfix.3 в стабильном канале, что облегчает создание приложения для выпуска.
Теперь у вас есть два варианта сборки:
1. Пакет приложений (предпочтительно)
2. APK
Создание комплекта приложений
Запустите приложение flutter build appbundle
Это создаст <app dir>/build/app/outputs/bundle/release/app.aab
Пакет T app содержит ваш код Dart и среду выполнения Flutter, скомпилированные для armeabi-v7a (32-bit)
arm64-v8a (64-bit)
armeabi-v7a (32-bit)
и arm64-v8a (64-bit)
.
Теперь вы можете загрузить этот пакет приложений в Google Play.
Построить APK
flutter build apk --split-per-abi
Эта команда приводит к двум файлам APK:
<app dir>/build/app/outputs/apk/release/app-armeabi-v7a-release.apk
<app dir>/build/app/outputs/apk/release/app-arm64-v8a-release.apk
Удаление флага --split-per-abi приводит к толстому APK, содержащему ваш код, скомпилированный для всех целевых ABI. Такие APK больше по размеру, чем их разделенные аналоги, что заставляет пользователя загружать собственные двоичные файлы, которые не применимы к архитектуре их устройств.
Если вы не обновились до версии 1.7, приведенное ниже решение должно работать.
Вам нужно собрать два apk и загрузить их вместе. один для 32 и другой для 64 бит.
Это то, что работало для меня, я на flutter v1.5.4-hotfix.2
Сначала запустите flutter build apk --release
и загрузите файл apk
Затем увеличьте версию и номер сборки в файле pubspec.yml и запустите
flutter build apk --release --target-platform=android-arm64
Загрузите этот новый apk и начните развертывание.
Удачи
Что сработало для меня
flutter build appbundle --release
Загрузите файл appbundle
Затем увеличьте версию и номер сборки в файле pubspec.yml и запустите
flutter build appbundle --release --target-platform=android-arm64
Загрузите также этот новый appbundle.
Тогда магазин игр принял мой релиз
Теперь есть новое лучшее решение, предоставленное командой futter.
Вам необходимо использовать новую версию флаттера 1.7.12. (моя настройка)
Flutter 1.7.12-pre.40 • channel master • https://github.com/flutter/flutter.git
Framework • revision 3badcf51a4 (13 hours ago) • 2019-06-28 15:14:03 -0700
Engine • revision e96900df2f
Tools • Dart 2.4.0
Затем с помощью этой команды вы можете собрать свой (одиночный) комплект приложений для x86 и x64. flutter build appbundle
Дополнительно вы можете добавить --release --target-platform android-arm,android-arm64
. Но это может привести к поломке приложения...
Используйте последний мастер-канал Flutter. flutter build apk
приведет к созданию толстого APK, содержащего поддержку как 32-битных, так и 64-битных.
Чтобы создать 32-битный и 64-битный APK отдельно, используйте flutter build apk --split-per-abi
Столкнулся с такой же проблемой 2 дня назад. Существует похожая проблема, поднятая на GitHut флаттера, но пока нет ответа.
Я только что столкнулся с тем же предупреждением и обнаружил этот пост в блоге Google: https://android-developers.googleblog.com/2019/01/get-your-apps-ready-for-64-bit.html Не очень подробно, но это обзор шагов, которым мы должны следовать
Flutter 1.5.4 -h otfix.2 appbundle в настоящее время нацелен на android-arm, который создает только 32- flutter build appbundle -h
нативный код (flutter build appbundle -h
). Чтобы изменить это, запустите flutter build appbundle --target-platform=android-arm64
чтобы изменить цель по умолчанию.