Flutter: Поддержка пакетов приложений с 32-битными и 64-битными бинарными файлами внутри них.

Созданный на 1 мая 2019  ·  194Комментарии  ·  Источник: flutter/flutter

Предупреждение

Этот выпуск не соответствует требованиям 64-разрядной версии Play.

Следующие APK-файлы или пакеты приложений доступны для 64-разрядных устройств, но содержат только 32-разрядный собственный код: {код версии}.

С 1 августа 2019 г. все выпуски должны соответствовать требованиям 64-разрядной версии Play.

Включите в приложение 64-разрядный собственный код в дополнение к 32-разрядному собственному коду. Используйте формат публикации Android App Bundle, чтобы автоматически гарантировать, что архитектура каждого устройства получает только необходимый собственный код. Учить больше

Это предупреждение появляется при попытке опубликовать aab созданный flutter build appbundle в Play Store с сегодняшнего дня .

Это то, о чем мне нужно беспокоиться, или Flutter автоматически решит это, т.е. это уже планируется решить вовремя?

crowd engine waiting for PR to land (fixed)

Самый полезный комментарий

Привет, команда Flutter,
Хочу подчеркнуть статус этой темы. С моей точки зрения, есть две серьезные проблемы:

  • Текущая стабильная версия флаттера 1.7.8+hotfix.3 не создает стабильных apks - по крайней мере, split-per-abi не работает должным образом - arm32 имеет проблему регрессии и не может работать на некоторых устройствах arm32 . Пока не ясно, когда это будет исправлено;
  • Крайний срок 1 августа - примерно через неделю мы, разработчики, не сможем ни обновлять, ни выпускать новые приложения flutter в Google Play Store - все очень просто. Учитывая текущую проблему с версией флаттера (как упоминалось выше) и оставшееся время, я не думаю, что можно ожидать исправления в стабильном канале до конца месяца (если у кого-то из вас, ребята, нет волшебной палочки: - ))

Учитывая два вышеупомянутых вопроса, я хотел бы предложить следующий план действий в чрезвычайных ситуациях, который ИМО лучше всего подойдет нам как разработчикам:

  • Откат флаттера стабильного канала до его версии до hotfix.2
  • Перенести крайний срок 1 августа на пару месяцев - я понимаю, что это потребует некоторой эскалации проблемы, но я надеюсь, что вы, ребята, поймете, насколько серьезным может быть влияние, если разработчики не смогут выпустить надежное приложение для флаттера после 1 августа из-за проблем с фреймворком.

Я могу говорить только от своего имени, но у меня есть клиенты с контрактами, и я решил перейти с React Native на Flutter, поскольку я считал, что Google обеспечит лучшую поддержку их собственных продуктов. У меня есть незавершенные проекты и приложения, которые нужно поддерживать.
Теперь я оказался в абсурдном случае, когда Google вынуждает меня выпустить 64-битную версию apk, и в то же время Google не предоставляет мне инструмент для этого (и да, я знаю, что команда Flutter - это не то же самое, что Google Play команда, но откуда я - вы такая же бизнес-организация).
Если Google не сможет выполнить поставку вовремя, это приведет к сильному сопротивлению со стороны Flutter, поскольку каждый день после 1 августа будет снижать доверие к фреймворку.
Прошу прощения, если мои слова звучат немного сильнее, я только надеюсь, что вы сможете поставить себя на мое место на данный момент.

Кто угодно - проголосуйте за это, и, надеюсь, наш голос будет услышан!

Все 194 Комментарий

нет

У меня было такое же предупреждение. Может ли кто-нибудь из команды Flutter прокомментировать или объяснить то же самое, и что мы можем сделать, чтобы убедиться, что appbundle, созданный с помощью flutter build appbundle --release также имеет 64-битный код. @zoechi Можете рассказать нам что-нибудь об этом?

Я тоже это вижу. Вот скриншот:
Screen Shot 2019-05-02 at 12 25 57 PM

И документация с дополнительными сведениями находится здесь: https://developer.android.com/distribute/best-practices/develop/64-bit.

Жду ответа от команды Flutter.

Я тоже получил это предупреждение сегодня.

Здесь та же проблема.

я тоже

я тоже

Есть ли решение для этого?

Посмотрите на это: https://github.com/flutter/flutter/issues/18494#issuecomment -477502287

У меня это сработало.

кнопка [начать развертывание для внутреннего тестирования] отключена на странице выпусков приложений в консоли Google Play (экран, на котором появляется указанное выше 64-битное предупреждающее сообщение)

требование к 64-битному пакету теперь является ограничителем для проектов флаттера.

/ cc @mklim @cbracken

Похоже, игровой магазин начал выдавать предупреждение, которое срабатывает при использовании инструкций по выпуску по умолчанию от Flutter.
https://flutter.dev/docs/deployment/android

С Flutter можно отправлять APK-файлы как для 32-разрядной, так и для 64-разрядной версии ARM, в настоящее время для этого требуется всего несколько дополнительных шагов. Различные подходы к их решению обсуждаются в:
https://github.com/flutter/flutter/issues/18494#issuecomment -477502287

Мы также прямо сейчас ищем, как лучше всего обновить шаги шаблона / инструментов / выпуска по умолчанию, чтобы избежать этого предупреждения.

Спасибо за ваше терпение.

@eseidelGoogle Поправьте меня, если я ошибаюсь, однако я подумал, что весь смысл пакета приложений состоит в том, чтобы упаковать все в один файл и позволить Play Store отправлять только необходимые apk каждому пользователю.

Как я указал в своем первоначальном вопросе, я использую flutter build appbundle . В этом случае предложенное вами решение не применимо, верно?

Вчера мы попробовали приложение flutter build appbundle и получили сообщения об ошибках из магазина воспроизведения, что это отладочная сборка ...

конечно, он также должен работать в сценариях add2app, где инструкции от flutter.dev не используются, а вместо этого используется android studio build-> Generate Signed APK

Спасибо, что назвали это критическим

Мы только что обсуждали это лично. @tvolkert найдет кого-нибудь, кто поможет довести это дело до

Я также получаю это предупреждение, есть ли способ установить по умолчанию 64-битную версию?

Небольшая модификация build.gradle может принудительно включить 64-битные собственные библиотеки в выпуск apk и aab - смотрите здесь обходной путь

Пожалуйста, дайте нам знать, сколько телефонов все еще используют 32-разрядную версию.
Если вы добавите 64-битные и 32-битные библиотеки, вы увеличите окончательный размер apk.

У меня есть проект без флаттера, в котором я разделяю APK по ABI, поэтому у меня есть отдельные apks для 32-битных и 64-битных, чтобы уменьшить размер. Теперь этот шаг, кажется, заставляет меня увеличить размер apk в дальнейшем.
Но почему ?

У меня нет статистики о том, сколько 32-битных телефонов есть в Индии / Африке ... Я уверен, что в Европе, США и некоторых странах Азии их почти нет.
А как насчет x86 / x86_64 против armeabi / arm64-v8a? Нужно ли нам добавить libflutter.so для всех 4 ABI в окончательный производственный apk?
.. также mips ... есть ли телефоны, которые все еще используют mips? Только гугл знает.

@VarolOkan Используйте AAB и позвольте Google генерировать APK для всех необходимых ему комбинаций ABI и разрешения экрана.

кнопка [начать развертывание для внутреннего тестирования] отключена на странице выпусков приложений в консоли Google Play (экран, на котором появляется указанное выше 64-битное предупреждающее сообщение)

требование к 64-битному пакету теперь является ограничителем для проектов флаттера.

@eseidelGoogle или кто угодно - может ли кто-нибудь подтвердить, что это
а) выставочная пробка
или б) предупреждение до августа
см. https://forums.expo.io/t/warning-with-the-google-play-64-bit-requirement/22305
Он указывает, что слева есть несколько полей, которые нужно проверить, чтобы заставить его работать, и если в предупреждении указано, что август, это кажется большой проблемой, если на самом деле это начало мая.

Также - очень полезно знать, действительно ли примерно нет 32-битных машин, и использование однострочного abiFilter для 64-битной руки является жизнеспособным вариантом для поддержки 99,5% пользователей или чего-то подобного; Год назад я видел, как кто-то чистил «все телефоны на рынке» были 64-битными ... может быть, это означает, что старых телефонов много?

Насколько я понимаю, это не ограничитель шоу, а скорее обычное предупреждение. Мы попросили @blasten взглянуть на то, что мы можем здесь сделать, чтобы установка Flutter по умолчанию не

Как сказал @eseidelGoogle , я https://github.com/flutter/flutter/issues/18494#issuecomment -489807239?

Это больше не проблема? https://github.com/flutter/flutter/issues/18494#issuecomment -482795450

Это не шоу. Я получил предупреждение, но смог выпустить свое приложение на
игровой магазин.

Кр Мортен

Вторник, 7 мая 2019 г., в 17.46, Аудрюс Каросевичюс [email protected]
написал:

Это больше не проблема? # 18494 (комментарий)
https://github.com/flutter/flutter/issues/18494#issuecomment-482795450

-
Вы получили это, потому что прокомментировали.
Ответьте на это письмо напрямую, просмотрите его на GitHub
https://github.com/flutter/flutter/issues/31922#issuecomment-490135779 ,
или отключить поток
https://github.com/notifications/unsubscribe-auth/AA4B4J5BY3BJVIELNEPC4N3PUGP7BANCNFSM4HJU7TZA
.

>

;-)
/ Мортен

Веб: http://buildsucceeded.dk
Мобильный: 51 21 90 79

Обобщить:

1) Ранее в этом году Play сообщила разработчикам, что для предоставления 64-битных версий с августа потребуется загружать приложения в магазин (https://android-developers.googleblog.com/2019/01/get-your-apps-ready -for-64-bit.html). На этой неделе Play Store начал отображать информационное сообщение для загруженных приложений, чтобы предупредить о предстоящем требовании. Однако в настоящее время требования Play Store не изменились.

2) Требование 64-битного APK, которое предупреждающие ссылки теперь можно выполнить, немного вручную изменив файлы gradle в одном проекте Flutter: https://github.com/flutter/flutter/issues/18494#issuecomment - 489807239 для одного примера, как.

3) Мы работаем над тем, чтобы поведение Flutter по умолчанию соответствовало грядущим обновлениям руководящих принципов Play, касающихся поддержки 64-битных версий, без каких-либо дополнительных усилий со стороны пользователей. Я ожидаю, что работа будет завершена в ближайшие несколько дней / недель, задолго до крайних сроков августа.

Если я пропустил что-то выше, не стесняйтесь комментировать или писать. Приносим извинения за то, что мы не обновили это до того, как Play включил предупреждение. Спасибо всем за вашу помощь и отзывы!

@eseidelGoogle

  1. Я не могу опубликовать приложение, созданное flutter build apk . Play Маркет не принимает 32-битные сборки в моем профиле.
  2. Решение из # 18494 (комментарий) не работает на 32-битных устройствах, таких как OnePlus One.

На мой взгляд, это остановка.

@eseidelGoogle

  1. Решено. Google Play не принимает сборки, если не указаны рейтинг и страны. Просто сообщение вводит в заблуждение.

Требование 64-битного APK, которому предупреждающие ссылки теперь можно выполнить, немного вручную изменив файлы gradle в одном проекте Flutter: # 18494 (комментарий) для одного примера того, как.

после нескольких часов проб и ошибок я __not__ смог создать подписанный apk или appbundle, содержащий 64-битный libflutter.so

единственный libflutter.so, включенный в комплект, - это
armeabi-v7a (32-разрядная версия)
, когда используешь
Android Studio 3.4
Сборка № AI-183.5429.30.34.5452501, построена 10 апреля 2019 г.

меню: Сборка> Создать подписанный пакет / APK


flutter build apk --release --target-platform=android-arm64 -v
flutter build appbundle --release --target-platform=android-arm64 -v

оба не работают @> Задача: app: validateSigningRelease FAILED

@ciez Это произвело только 64-

$ flutter build apk --release --target-platform=android-arm64
Initializing gradle...                                              1.1s
Resolving dependencies...                                           1.8s
Running Gradle task 'assembleRelease'...                                
Running Gradle task 'assembleRelease'... Done                       9.0s
Built build/app/outputs/apk/release/app-release.apk (7.5MB).

@adriank
Да, это работает.
выяснил, в чем проблема: "~" в пути к keystore.jks нужно было заменить на / home / user

извините за ложную тревогу.

Кажется, что каждая подобная связка может быть нацелена не более чем на 1 арку?

Жду обновления Flutter, так как обходной путь только что сломал мои сборки.

@mulderpf, какой обходной путь вы применили и как сломалась ваша сборка?

См. Этот комментарий для получения последнего обновления от команды Flutter.

Получил обновление: у меня это работает в ветке!
Предлагается использовать flutter build appbundle --release --target-platform=android-arm-all (рекомендуется для разделения APK из коробки) или flutter build apk --release --target-platform=android-arm-all в будущем выпуске.

Кто-нибудь в часовом поясе PST желает попробовать это? Если да, обратитесь в Gitter или Slack :)

@blasten К сожалению, мне не удалось создать appbundle с вашей веткой. Каким-то образом Gradle терпит неудачу на app:properties , но, глядя на код, это выглядит многообещающим.
Удалось ли вам убедиться, что flutter/engine загружает снимки AOT из каталога ./lib/ ? Если посмотреть на код движка, он повсюду использует ресурсы ... Если это сработает, это решит общую проблему App Bundles, так как на данный момент им не хватает поддержки таргетинга на каталог ресурсов со стороны ABI.

@SPodjasek правильно, также потребуется локальная сборка движка, поэтому классы в APK ищут новые снимки.

@blasten Мне удалось исправить мое дерево сборки, и теперь я могу успешно создать App Bundle, который содержит снимки AOT в base/lib/${abi}/

  4649616  2019-05-13 20:52   base/lib/arm64-v8a/isolate_snapshot_data.so
  6296768  2019-05-13 20:52   base/lib/arm64-v8a/isolate_snapshot_instr.so
  8472736  2019-05-13 20:52   base/lib/arm64-v8a/libflutter.so
    32352  2019-05-13 20:52   base/lib/arm64-v8a/vm_snapshot_data.so
    19200  2019-05-13 20:52   base/lib/arm64-v8a/vm_snapshot_instr.so
  3700504  2019-05-13 20:52   base/lib/armeabi-v7a/isolate_snapshot_data.so
  6019680  2019-05-13 20:52   base/lib/armeabi-v7a/isolate_snapshot_instr.so
  6036116  2019-05-13 20:52   base/lib/armeabi-v7a/libflutter.so
    23520  2019-05-13 20:52   base/lib/armeabi-v7a/vm_snapshot_data.so
    12640  2019-05-13 20:52   base/lib/armeabi-v7a/vm_snapshot_instr.so

И мне интересно, достаточно ли этого изменить ...

https://github.com/flutter/engine/blob/1b649a57d18a8c41ae017d79cf9bdb999a2276ac/shell/platform/android/io/flutter/view/FlutterMain.java#L334 -L336

что-то вроде:

getContext().getApplicationInfo().nativeLibraryDir;

Конечно, все будет не так просто, но для того, чтобы в общих чертах понять ...

Вот как попробовать flutter build appbundle с поддержкой 32 и 64 бит:

  1. Загрузите flutter.jar с https://drive.google.com/open?id=1yAkfhPKfhdd8MwW39qfkZDePc66SMA_z и поместите его под {flutterInstallationPath}/bin/cache/artifacts/engine/android-arm-release . Чтобы проверить путь установки Flutter, используйте which flutter

Если вы хотите увидеть изменения в FlutterMain.java, см. Https://github.com/blasten/engine/commit/b3ab9def28a414ffa53bf10ad6a3249f31ed00e3

  1. Посмотрите патч из этой ветки:
$ cd {flutterInstallationPath}
$ git remote add arm-all https://github.com/blasten/flutter
$ git fetch arm-all apk_defaults
$ git checkout apk_defaults

$ git build appbundle --release --target-platform=android-arm-all

Сообщите мне, что вы найдете.

+1

@danysz Если бы вы проголосовали за этот вопрос, вместо того, чтобы писать +1, это имело бы больший смысл (никаких резких чувств к вам). Другим, если они прочитают это сообщение, не пишите «я тоже», «такой же здесь», «+1», вместо этого проголосуйте за эту проблему.

Спасибо!

@blasten Приложения не запускаются:

05-14 10:50:35.979  3445 28828 I ActivityManager: Start proc 30019:xxx/u0a262 for activity xxx/com.example.flutterapp.MainActivity
05-14 10:50:36.067 30019 30019 I FirebaseInitProvider: FirebaseApp initialization successful
05-14 10:50:36.108 30019 30019 E flutter : [ERROR:flutter/runtime/dart_vm_data.cc(19)] VM snapshot invalid and could not be inferred from settings.
05-14 10:50:36.108 30019 30019 E flutter : [ERROR:flutter/runtime/dart_vm.cc(241)] Could not setup VM data to bootstrap the VM from.
05-14 10:50:36.108 30019 30019 E flutter : [ERROR:flutter/runtime/dart_vm_lifecycle.cc(89)] Could not create Dart VM instance.
05-14 10:50:36.108 30019 30019 F flutter : [FATAL:flutter/shell/common/shell.cc(218)] Check failed: vm. Must be able to initialize the VM.
05-14 10:50:36.108 30019 30019 F libc    : Fatal signal 6 (SIGABRT), code -6 in tid 30019 (xxx), pid 30019 (xxx)

Это касается моего физического устройства и устройства Test Lab 9/10 - у нас противоречивый результат для Pixel-Q-beta.

@danysz Если бы вы проголосовали за этот вопрос, вместо того, чтобы писать +1, это имело бы больший смысл (никаких резких чувств к вам). Другим, если они прочитают это сообщение, не пишите «я тоже», «такой же здесь», «+1», вместо этого проголосуйте за эту проблему.

Спасибо!

сделано

@blasten Просматривая ваши изменения, я обнаружил, что для существующих приложений нужно изменить AndroidManifest.xml

diff --git a/packages/flutter_tools/templates/app/android.tmpl/app/src/main/AndroidManifest.xml.tmpl b/packages/flutter_tools/templates/
app/android.tmpl/app/src/main/AndroidManifest.xml.tmpl
index 4778a2080..f3492835e 100644
--- a/packages/flutter_tools/templates/app/android.tmpl/app/src/main/AndroidManifest.xml.tmpl
+++ b/packages/flutter_tools/templates/app/android.tmpl/app/src/main/AndroidManifest.xml.tmpl
@@ -24,6 +24,11 @@
             <meta-data
                 android:name="io.flutter.app.android.SplashScreenUntilFirstFrame"
                 android:value="true" />
+            <!-- If true, the snapshots are read from lib instead of the assets 
+                 directory in the APK. -->
+            <meta-data
+                android:name="io.flutter.view.FlutterMain.snapshot-in-lib"
+                android:value="${snapshotInLib}" />
             <intent-filter>
                 <action android:name="android.intent.action.MAIN"/>
                 <category android:name="android.intent.category.LAUNCHER"/>

Тем не менее, это все равно не удается ...

@blasten

git build
$ git build appbundle --release --target-platform=android-arm-all
"git build" or "flutter build" ? :-)

К сожалению, мне не удалось подготовить комплект с вашими инструкциями. Gradle терпит неудачу в app: свойствах каким-то образом (после "Building flutter tool ..." и некоторых загрузок android-arm - * ....).

Похоже, процесс загрузки перезаписал flutter.jar

@MoacirSchmidt У меня были похожие проблемы, но очистка flutter clean ) и кешей gradle ( ~/.gradle/caches & ${projectRoot}/android/.gradle ) помогла

Для людей, у которых есть проблемы со сборкой 64-битных apk.
Эта настройка сработала для меня.

build.gradle

запустить flutter build apk --release --target-platform=android-arm

инкремент versionCode

запустить flutter build apk --release --target-platform=android-arm64

больше обсуждения на https://github.com/flutter/flutter/issues/18494

flutter build appbundle теперь в главном, хочет ли кто-нибудь добровольно попробовать?

Для людей вроде меня, которые боялись менять файлы gradle - если вам нужна только 64-битная версия, flutter build apk --release --target-platform=android-arm64 работает даже без модификации build.gradle.

@blasten Я пробовал flutter build appbundle в канале beta . Когда я пытаюсь загрузить в Play Store, я все равно получаю ошибку 32/64.

Я знаю, что вы сказали master но у меня есть некоторые ошибки, над которыми я все еще работаю в этой ветке. Просто хотел дать вам эту информацию!

Я тоже получаю это предупреждение!

Есть ли способ создать пакет приложений для всех архитектур?

Есть обновления о том, как это исправить?

Я закрываю эту ошибку, поскольку она касается пакетов приложений. Если вы переключитесь на основную ветку, вы можете использовать flutter build appbundle для создания пакетов приложений, поддерживающих 32- и 64-разрядные архитектуры ЦП. Если вы предпочитаете или не можете использовать наборы приложений, следите за этой веткой, чтобы получить дополнительную поддержку через толстые APK.

@blasten - не могли бы вы дать какие-то инструкции, как использовать его из Android Studio?
Вот моя текущая конфигурация флаттера:

Сводка доктора (чтобы увидеть все подробности, запустите flutter doctor -v):
[√] Flutter (стабильный канал, v1.2.1, в Microsoft Windows [версия 10.0.17763.503], локаль en-US)
[√] Android toolchain - разработка для устройств Android (Android SDK версии 28.0.3)
[√] Android Studio (версия 3.4)

Когда это изменение перейдет в ветку stable ?

@blasten это работает с Add2App?

@blasten, как подписать пакет приложений, созданный с помощью appbundle сборки flutter?

@blasten - это хороший способ использовать основную ветку для производственных приложений?

@dblokhin вы можете использовать flutter channel master для переключения на главный канал. Обратите внимание, что теперь это также доступно на канале разработчиков.

@tvolkert - какой таймфрейм будет объединен с веткой stable ?

@ angel1st Я бы стал гостем через 3 месяца.

@truongsinh - учитывая, что 1 августа будет примерно через два месяца, я ожидал бы гораздо более быстрого принятия, на самом деле ...

@ angel1st, он уже в стабильной версии ! Я узнаю больше ...

@ angel1st он уже в стабильной

Вы уверены, что? Текущая стабильная версия - это 1.5.4-hotfix 2, и она не создает пакетов с 32 и 64 версиями. Или мне что-то не хватает?

@shinayser пока нет, извините. Я узнаю больше и обновлю тему. Как упоминал Тодд, канал master - единственный вариант на данный момент.

Пробовал аппбандл. У меня в мастере стояла версия Flutter 1.6.1-pre
канал.

На выходе пакета было около 12 МБ, что не приводило к предупреждению.
а размеры отдельных APK были около 7. Пока все хорошо.

Но когда я открыл приложение после обновления через Play Store, мое приложение получило
застрял в заставке.

У меня не было выбора, чтобы вернуться к apk сборки flutter, который работал нормально, иди как
и почему.

Поэтому я не думаю, что эта проблема закрыта, потому что, хотя предупреждение
исчезло с appbundle, как и само приложение. Appbundle - это
делает приложение бесполезным, поскольку оно застревает на экране-заставке.

В этом случае не стесняйтесь обращаться ко мне напрямую через Gitter: https://gitter.im/flutter/flutter. Если возможно, будет полезно отправить файл .aab , созданный инструментом.

Я считаю, что нам нужно так или иначе документировать использование. Также я считаю, что слияние этого с stable до конца июня жизненно важно, если команда Flutter хочет сохранить разработчиков.

@ angel1st, мы stable .

Некоторые обновления:

Мы смогли воспроизвести приложения, застревающие на экране-заставке после развертывания APK из пакета приложений (созданного с использованием flutter build appbundle из основного канала).

Похоже, это вызвано тем, что мы разместили снимки AOT ( vm-snapshot-data , vm-snapshot-instr , isolate-snapshot-data , isolate-snapshot-instr ) в качестве библиотек внутри /lib/{abi}/lib_{snapshot}.so чтобы получить разделение ABI для пакетов приложений.

РЕДАКТИРОВАТЬ : Основная причина оказалась в том, что код в устройстве для внедрения Android ожидает в этой строке каталога с именем flutter_assets , но мое недавнее изменение для поддержки пакетов приложений отключило создание такого каталога, из-за чего приложение никогда не запускалось. Эта фиксация @ jason-simmons https://github.com/flutter/engine/compare/7f4f52f95294...e8db5dfd52ee устраняет проблему.

Заключение

Текущий план состоит в том, чтобы позволить инструменту flutter генерировать разделяемые библиотеки ELF вместо снимков AOT. Эта функция была только что добавлена ​​в Dart SDK по адресу https://github.com/dart-lang/sdk/commit/af93ebcf4cb55ae5f0f39a183ad2d42ca13ae51f.

Это означает, что мы получим разделение ABI для пакетов приложений и толстых APK с использованием реальных библиотек.

Я обновлю эту ошибку и https://github.com/flutter/flutter/issues/18494, как только проблема будет исправлена. Между тем, передача --target-platform в build appbundle позволит вам создавать пакеты приложений, не перемещая моментальные снимки AOT в lib/ .

Некоторые обновления:

Мы смогли воспроизвести приложения, застревающие на экране-заставке после развертывания APK из пакета приложений (созданного с использованием flutter build appbundle из основного канала).

Похоже, это вызвано тем, что мы разместили снимки AOT ( vm-snapshot-data , vm-snapshot-instr , isolate-snapshot-data , isolate-snapshot-instr ) в качестве библиотек внутри /lib/{abi}/lib_{snapshot}.so чтобы получить разделение ABI для пакетов приложений. В конце концов, снимки не являются настоящими библиотеками, и наш прием, чтобы получить такое поведение, не сработал.

Текущий план состоит в том, чтобы позволить инструменту flutter генерировать разделяемые библиотеки ELF вместо снимков AOT. Эта функция была только что добавлена ​​в Dart SDK в dart-lang / sdk @ af93ebc .

Это означает, что мы получим разделение ABI для пакетов приложений и толстых APK с использованием реальных библиотек.

Я обновлю эту ошибку и # 18494, как только проблема будет исправлена. Между тем, передача --target-platform в build appbundle позволит вам создавать пакеты приложений, не перемещая моментальные снимки AOT в lib/ .

@blasten будет ли это работать правильно, если у вас есть другие библиотеки, которые также используют собственный код? Например: VLC. Когда мы создаем APK, он выдает .so .

Да, вы можете использовать другие библиотеки собственного кода в своем APK.

В новом формате упаковки приложение Flutter будет включать в себя библиотеку движка libflutter.so вместе с другим .so содержащим данные моментального снимка AOT, скомпилированные из кода Dart вашего приложения. При необходимости приложение может добавлять другие .so библиотеки, не связанные с Flutter.

К вашему сведению, решение проблемы зависания на экране-заставке должно быть в (предстоящем) выпуске канала разработки 1.7.0 (https://github.com/flutter/flutter/wiki/Bad-Builds#v161--- v167)

Всем привет. Исправление проблемы зависания на экране-заставке появилось на канале разработчика - вы должны увидеть это, если вы flutter upgrade до версии v1.7.0. Попробуйте и дайте нам знать, если у вас возникнут проблемы с flutter build appbundle .

@tvolkert У меня не работает раньше и не работает сейчас. Ни на устройстве канала (1.7.0), ни на мастере канала (1.7.1). Сборка приложения с flutter build appbundle вылетает после публикации в Play Store и запуска на реальном устройстве.
Изменить: теперь он работает на канале dev (1.7.0) после удаления приложения с устройства и его переустановки из Play Store.
Edit2: это НЕ работает. Play Маркет был немного медленнее, чем обычно, при распространении правильной версии. Что я могу сделать, чтобы помочь размножению?

@masewo, можете ли вы собрать надгробие с устройства, и какая версия Flutter работала на нем в то время?

@ jason-simmons @blasten что-нибудь еще, что вы хотели бы помочь отследить?

@tvolkert

надгробие:

2019-06-04 08:32:44.375 8326-8326/? A/DEBUG: *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
2019-06-04 08:32:44.375 8326-8326/? A/DEBUG: Build fingerprint: 'samsung/crownltexx/crownlte:9/PPR1.180610.011/N960FXXS2CSDJ:user/release-keys'
2019-06-04 08:32:44.375 8326-8326/? A/DEBUG: Revision: '28'
2019-06-04 08:32:44.375 8326-8326/? A/DEBUG: ABI: 'arm64'
2019-06-04 08:32:44.375 8326-8326/? A/DEBUG: pid: 8261, tid: 8261, name: asewo.myfirstapp  >>> net.masewo.myfirstapp <<<
2019-06-04 08:32:44.375 8326-8326/? A/DEBUG: signal 6 (SIGABRT), code -6 (SI_TKILL), fault addr --------
2019-06-04 08:32:44.376 8326-8326/? A/DEBUG: Abort message: '[FATAL:flutter/shell/common/shell.cc(218)] Check failed: vm. Must be able to initialize the VM.
    '
2019-06-04 08:32:44.376 8326-8326/? A/DEBUG:     x0  0000000000000000  x1  0000000000002045  x2  0000000000000006  x3  0000000000000008
2019-06-04 08:32:44.376 8326-8326/? A/DEBUG:     x4  0000000000000000  x5  0000000000000000  x6  0000000000000000  x7  0080000000000000
2019-06-04 08:32:44.376 8326-8326/? A/DEBUG:     x8  0000000000000083  x9  000000767c1f9890  x10 fffffff87ffffbdf  x11 0000000000000001
2019-06-04 08:32:44.376 8326-8326/? A/DEBUG:     x12 00000075ded1c000  x13 0000000000000008  x14 ffffffffffffffff  x15 0000402003ff3b02
2019-06-04 08:32:44.376 8326-8326/? A/DEBUG:     x16 000000767c2302b0  x17 000000767c16f958  x18 0000007fdd2251da  x19 0000000000002045
2019-06-04 08:32:44.376 8326-8326/? A/DEBUG:     x20 0000000000002045  x21 0000000000000083  x22 00000075edde02e0  x23 00000075dec79fc0
2019-06-04 08:32:44.376 8326-8326/? A/DEBUG:     x24 00000075de3a6150  x25 0000000000000000  x26 00000075f7614ca0  x27 0000000000000003
2019-06-04 08:32:44.376 8326-8326/? A/DEBUG:     x28 0000000000000000  x29 0000007fdd225b00
2019-06-04 08:32:44.376 8326-8326/? A/DEBUG:     sp  0000007fdd225ac0  lr  000000767c162da0  pc  000000767c162dcc
2019-06-04 08:32:44.377 8326-8326/? A/DEBUG: backtrace:
2019-06-04 08:32:44.377 8326-8326/? A/DEBUG:     #00 pc 0000000000021dcc  /system/lib64/libc.so (abort+124)
2019-06-04 08:32:44.377 8326-8326/? A/DEBUG:     #01 pc 0000000000e4a6a0  /data/app/net.masewo.myfirstapp-J4PFXKn_O2diLnKpCeu2eg==/split_config.arm64_v8a.apk (offset 0xe2d000)

трепетать:

D:\Programme\Android\flutter\bin\flutter.bat doctor --verbose
[√] Flutter (Channel dev, v1.7.0, on Microsoft Windows [Version 10.0.18362.145], locale de-DE)
    • Flutter version 1.7.0 at D:\Programme\Android\flutter
    • Framework revision f36a35d20a (3 days ago), 2019-05-31 15:27:56 -0400
    • Engine revision a32df2c928
    • Dart version 2.3.2 (build 2.3.2-dev.0.0 445a23a9bc)

[√] Android toolchain - develop for Android devices (Android SDK version 28.0.3)
    • Android SDK at D:\Programme\Android\sdk
    • Android NDK location not configured (optional; useful for native profiling support)
    • Platform android-28, build-tools 28.0.3
    • Java binary at: D:\Programme\Android\Android Studio Dev\jre\bin\java
    • Java version OpenJDK Runtime Environment (build 1.8.0_202-release-1483-b03)
    • All Android licenses accepted.

[√] Android Studio (version 3.5)
    • Android Studio at D:\Programme\Android\Android Studio Beta
    • Flutter plugin version 36.0.7
    • Dart plugin version 191.7221
    • Java version OpenJDK Runtime Environment (build 1.8.0_202-release-1483-b02)

[√] Connected device (1 available)
    • SM N960F • xxxxxxxxxxxxxxxx • android-arm64 • Android 9 (API 28)

@ jason-simmons @blasten именно это утверждение вызывает сбой в случае @masewo

@masewo, мы не можем воспроизвести сбой на нашей стороне без наших приложений - не могли бы вы создать неподписанный файл .aab из выпуска 1.7.1, который демонстрирует это поведение, и отправить его мне по электронной почте (tvolkert @ google .com)? Если так, это было бы очень полезно!

К вашему сведению, следующее объявление было отправлено на [email protected] относительно нашей поддержки 64-разрядных

https://groups.google.com/forum/#!topic/flutter -announce / oIzwT9EDczc

@tvolkert - это команда, которая также работает над совместимостью https://github.com/flutter/flutter/wiki/Add-Flutter-to-existing-apps со всеми перечисленными вами пунктами?

  1. Предоставляет способ (по умолчанию) для создания пакета приложений, поддерживающего как 32-разрядные, так и 64-разрядные версии. (уже доступно для тестирования на канале разработчиков)

  2. Предоставьте способ (по умолчанию) для создания APK, поддерживающего как 32-разрядные, так и 64-разрядные версии. (в ходе выполнения)

@truongsinh Да, см. этот комментарий в ожидающем PR: https://github.com/flutter/flutter/pull/33696#issuecomment -498934359

@masewo и все остальные: мы смогли воспроизвести сбой, описанный в https://github.com/flutter/flutter/issues/31922#issuecomment -498541765, и отслеживаем его.

tldr: держись - мы на этом 🙂

Всем привет,

TL; DR:

Мы определили проблему со сбоями при загрузке из Play Store и работаем над исправлением, которое будет доставлено в те же сроки, что указаны выше в https://github.com/flutter/flutter/issues/31922#issuecomment -498880614

Объяснение высокого уровня

Для интересующихся довольно длинным объяснением является то, что с устройствами под управлением Android Marshmallow или более поздней версии Play Store обнаружит приложения, упакованные в виде пакетов приложений, содержащих несколько ABI, и установит эти приложения на устройство в форме «разделенного» APK-файлы ". При этом содержащиеся в нем файлы .so не извлекаются из zip-архива APK, что отличается от поведения неразделенных APK. Поскольку текущий механизм поиска файлов .so предполагает, что

Решение состоит в том, чтобы просто dlopen библиотеки, и Android абстрагируется от того, где находятся библиотеки (т.е. внутри архива или нет). Однако необходимые файлы .so никогда не были настоящими библиотеками - они были просто двоичными блоками данных, которые мы загружали в виртуальную машину Dart. Поэтому в рамках этого мы создаем для них библиотеки ELF (например, https://github.com/dart-lang/sdk/commit/6d608fb52bc1926a73d986d73ab228b77cfb7ca2 и https://github.com/flutter/flutter/pull/33696).

Всем привет,

Мы считаем, что все исправления оказались на вершине дерева на канале master . Если вы хотите попробовать их, вот как:

  • flutter build appbundle

    По умолчанию App Bundle содержит ваш код Dart и среду выполнения Flutter, скомпилированную для armeabi-v7a (32-разрядная версия ) и версия ).

  • flutter build apk --split-per-abi

    Эта команда приведет к созданию двух APK:

    build/app/outputs/apk/release/app-armeabi-v7a-release.apk
    build/app/outputs/apk/release/app-arm64-v8a-release.apk

  • flutter build apk

    В результате получится толстый APK, содержащий ваш код, скомпилированный для всех целевых ABI. Такие APK-файлы будут больше по размеру, чем их разделенные аналоги, из-за чего пользователь будет загружать собственные двоичные файлы, которые не применимы к архитектуре их устройства.

flutter build appbundle теперь работает у меня. Спасибо @tvolkert !

Можно подтвердить, что это работает (после переключения на главный) на нескольких устройствах Android. Какая палочка-выручалочка, спасибо.

Большой! Спасибо @blasten , @ jason-simmons и @ rmacnak-google - я всего лишь мессенджер 🙂

Спасибо всей команде Flutter и участникам за такой быстрый ответ. Надеюсь, он попадет в бета-версию в течение 1,5 месяцев :)

@tomaszpolanski, в планах - довести его до бета-версии к концу июня и до стабильной к началу июля 🙂

@tvolkert есть ли флаг команды flutter build appbundle мы можем передать, чтобы также включить x86?

@athornz не в режиме выпуска, атм. См. Https://github.com/flutter/flutter/issues/9253. Однако в ближайшем будущем можно будет добавить снимки AOT для x86_64 .

Переход на главную ветку дает мне следующую ошибку. Стабильные сборки, но не включают 64-битную версию в пакет выпуска.

Running flutter doctor...
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel master, v1.7.4-pre.108, on Mac OS X 10.14.5 18F132, locale nl-NL)
[✓] Android toolchain - develop for Android devices (Android SDK version 28.0.3)
[✓] Xcode - develop for iOS and macOS (Xcode 10.2.1)
[✓] iOS tools - develop for iOS devices
[✓] Android Studio (version 3.4)
[✓] IntelliJ IDEA Community Edition (version 2018.2.7)
[✓] Connected device (1 available)

• No issues found!
MacBook-Pro-van-Wendel:zaira wendel$ flutter build appbundle --build-name=1.0.6 --build-number=6 -t lib/main_prod.dart --flavor=prod
Initializing gradle...                                              0,9s
Resolving dependencies...                                           2,2s
registerResGeneratingTask is deprecated, use registerGeneratedResFolders(FileCollection)
registerResGeneratingTask is deprecated, use registerGeneratedResFolders(FileCollection)
registerResGeneratingTask is deprecated, use registerGeneratedResFolders(FileCollection)
registerResGeneratingTask is deprecated, use registerGeneratedResFolders(FileCollection)
registerResGeneratingTask is deprecated, use registerGeneratedResFolders(FileCollection)
registerResGeneratingTask is deprecated, use registerGeneratedResFolders(FileCollection)
registerResGeneratingTask is deprecated, use registerGeneratedResFolders(FileCollection)
registerResGeneratingTask is deprecated, use registerGeneratedResFolders(FileCollection)
registerResGeneratingTask is deprecated, use registerGeneratedResFolders(FileCollection)
registerResGeneratingTask is deprecated, use registerGeneratedResFolders(FileCollection)
Running Gradle task 'bundleProdRelease'...                              
Running Gradle task 'bundleProdRelease'... Done                    78,6s
Gradle task bundleProdRelease failed with exit code 1

@xinoxapps , можете ли вы отправить полный вывод flutter build appbundle -v (пожалуйста, в качестве ссылки на gist.github.com, для удобства чтения этой ветки 🙂)?

@xinoxapps , мне не удалось воспроизвести эту проблему локально. Теперь, глядя на предупреждения, которые вы получаете, кажется, что есть некоторая настраиваемая логика конфигурации build.gradle , которая может вызывать или не вызывать проблему. Можно ли было бы добраться до минимального репро-кейса? например, попробуйте удалить часть этой настраиваемой конфигурации Gradle, пока она не заработает, а затем расскажите, что именно вызвало проблему. Вот как я определил аромат:

android {
  flavorDimensions "version"
    productFlavors {
        prod { }
    }
}

Всем привет,

Эти исправления теперь доступны в канале dev , в выпуске v1.7.4 или позже.

Я переключился на пакеты приложений и отправил их в Play Store, и большинство пользователей кажутся счастливыми. Однако у меня есть два отчета о том, что приложение вообще не запускается на устройстве x86, которое поддерживает эмуляцию ARM, Asus ZenFone 2 ZE551ML: https://www.gsmarena.com/asus_zenfone_2_ze551ml-6917.php. К сожалению, пользователи не смогли предоставить вывод adb logcat. Предназначен ли новый формат ELF для работы на таких устройствах?

Screen Shot 2019-06-16 at 11 55 54 PM

Переключение на каналы master и dev дает мне эту ошибку с flutter build appbundle :

* What went wrong:
Execution failed for task ':app:transformNativeLibsWithMergeJniLibsForProductionRelease'.
> More than one file was found with OS independent path 'lib/armeabi-v7a/libapp.so'

@darioielardi, можете ли вы включить ссылки gist.google.com в вывод flutter build appbundle -v , а также содержимое ваших файлов android/build.gradle и android/app/build.gradle ?

Я переключился на пакеты приложений и отправил их в Play Store, и большинство пользователей кажутся счастливыми. Однако у меня есть два отчета о том, что приложение вообще не запускается на устройстве x86, которое поддерживает эмуляцию ARM, Asus ZenFone 2 ZE551ML: https://www.gsmarena.com/asus_zenfone_2_ze551ml-6917.php. К сожалению, пользователи не смогли предоставить вывод adb logcat. Предназначен ли новый формат ELF для работы на таких устройствах?

Screen Shot 2019-06-16 at 11 55 54 PM

да, у меня такая же проблема. он работает с приложением flutter build, и на большинстве устройств мои приложения хорошо работают. но не для этого asus

@blasten Да, я понимаю, что собственный x86 не поддерживается, но я думаю, что проблема здесь в том, что пакеты приложений ARM / ARM64 устанавливаются Google Play на устройства x86, которые рекламируют поддержку ARM через перевод, но новые пакеты почему-то не корректно работают на таких устройствах (возможно, потому, что новые форматы ELF сбивают с толку переводчик ARM). Исходные APK-файлы ARM (не ARM64), похоже, работают с ними, однако, что подтверждается возвратом к двухнедельной старой основной ветке (e1a784ae, если быть конкретным) и замечанием, что два пользователя, которые видели проблемы, теперь имеют мое приложение снова работает на своих устройствах ZenFone 2. Это помешает мне перейти на v1.7.4.

@xinoxapps , можете ли вы отправить полный вывод flutter build appbundle -v (пожалуйста, в качестве ссылки на gist.github.com, для удобства чтения этой ветки 🙂)?

У меня сейчас работает на dev-канале. Вам все еще нужна информация?

@xinoxapps nope - рад слышать, что это работает на вас.

@darioielardi теперь проблема исправлена ​​в мастере. Пожалуйста, запустите flutter upgrade в главном канале.

@darioielardi теперь проблема исправлена ​​в мастере. Пожалуйста, запустите flutter upgrade в главном канале.

@blasten Я переключился на мастер и получил эту ошибку при выполнении flutter build appbundle
Execution failed for task ':app:transformClassesAndResourcesWithProguardForRelease'.

это мой градиент и полный вывод https://gist.github.com/julindra/80cd2e588cf11bdd0df3f34239b07409

Всем привет,

Мы стремимся получить еще несколько исправлений ошибок для надстроек приложений и вариантов - и сократить выпуск v1.7.5 dev. Поэтому мы не планируем переходить на бета-версию, чтобы исправить эти исправления. Мы по-прежнему ожидаем стабилизации в начале июля.

flutter build appbundle у меня сработало. Большое спасибо @tvolkert .

@julindra добавление -ignorewarnings к 'proguard-rules.pro устраняет эту проблему. В настоящее время мы не включаем пакет android.arch. *. Другой вариант - отредактировать android/app/build.gradle и добавить следующее:

.gradle dependencies { implementation "android.arch.lifecycle:common-java8:1.1.1" implementation 'android.arch.lifecycle:extensions:1.1.1' }

cc @ matthew-carroll

Я загрузил бандл app.aab в магазин игр. Предупреждение об отсутствии 64-разрядной версии исчезло, но приложение просто вылетело при запуске после установки из магазина воспроизведения. Какие-либо предложения?

Также безопасно ли использовать flutter build appbundle для выпуска в производство?

@sulaysumaria вы можете опубликовать результат выполнения flutter doctor ?

Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, v1.5.4-hotfix.2, on Mac OS X 10.14.5 18F132, locale en-IN)

[✓] Android toolchain - develop for Android devices (Android SDK version 28.0.3)
[✗] iOS toolchain - develop for iOS devices
    ✗ Xcode installation is incomplete; a full installation is necessary for iOS development.
      Download at: https://developer.apple.com/xcode/download/
      Or install Xcode via the App Store.
      Once installed, run:
        sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer
    ✗ libimobiledevice and ideviceinstaller are not installed. To install with Brew, run:
        brew update
        brew install --HEAD usbmuxd
        brew link usbmuxd
        brew install --HEAD libimobiledevice
        brew install ideviceinstaller
    ✗ ios-deploy not installed. To install:
        brew install ios-deploy
    ✗ CocoaPods not installed.
        CocoaPods is used to retrieve the iOS platform side's plugin code that responds to your plugin usage on the Dart side.
        Without resolving iOS dependencies with CocoaPods, plugins will not work on iOS.
        For more info, see https://flutter.dev/platform-plugins
      To install:
        brew install cocoapods
        pod setup
[!] Android Studio (version 3.4)
    ✗ Flutter plugin not installed; this adds Flutter specific functionality.
    ✗ Dart plugin not installed; this adds Dart specific functionality.
[✓] VS Code (version 1.35.1)
[✓] Connected device (1 available)

! Doctor found issues in 2 categories.

@truongsinh

Я также попытался создать apk из пакета приложений и установить его. Он также вылетает при запуске.

$ bundletool build-apks --bundle=build/app/outputs/bundle/app.aab --output=app.apks
$ bundletool install-apks --apks app.apks

Попробуйте переключиться на канал dev и проверьте.

Я попытался создать канал dev но это сломало одну из моих зависимостей. Я попробую прокомментировать это и построить, чтобы посмотреть, работает ли приложение.

Также безопасно ли использовать канал dev для производственной версии?

Ой, извините. Я был бы более осторожен, если бы это было для продакшена.

Я собираюсь сейчас создавать APK. Хотя Google предлагает загружать пакеты вместо пакетов, поэтому будет хорошо, если это будет исправлено в следующем выпуске стабильной ветки.

Я нашел это с помощью adb logcat:

[FATAL:flutter/runtime/dart_vm.cc(389)] Error while initializing the Dart VM: Snapshot not compatible with the current VM configuration: the snapshot requires 'product use_bare_instructions no-"asserts" causal_async_stacks no-bytecode arm-eabi softfp' but the VM has 'product use_bare_instructions no-"asserts" causal_async_stacks no-bytecode arm64-sysv'

Я на канале stable .

Решение от https://github.com/flutter/flutter/issues/19865 сработало.

Мне также пришлось удалить раздел splits из build.gradle.

Приложение теперь работает нормально при установке через bundletool. Я попробую загрузить в playstore и проверю, все ли идет хорошо.

@sulaysumaria исправление пока доступно только в основной ветке. Если у вас стабильная версия - как указано в выходных данных flutter doctor

[✓] Flutter (Channel stable, v1.5.4-hotfix.2, on Mac OS X 10.14.5 18F132, locale en-IN)

исправление не применяется. Вам нужно подождать, пока исправление станет стабильным, если вы хотите собирать стабильную версию. Похоже, что это где-то около 1.7.x пока вам нужно загрузить apk отдельно.

Ох ... Спасибо

@sulaysumaria без проблем. Он упоминается несколько раз в этой ветке.

Мы по-прежнему ожидаем стабилизации в начале июля.

Это сработало на канале dev . Я использовал flutter build appbundle --target-platform android-arm,android-arm64 и загрузил пакет в игровой магазин, и он отлично работал.

@sulaysumaria - вы должны использовать уже подготовленные инструкции либо с мастер- каналом, либо с каналом разработчика .

@julindra добавление -ignorewarnings к 'proguard-rules.pro устраняет эту проблему. В настоящее время мы не включаем пакет android.arch. *. Другой вариант - отредактировать android/app/build.gradle и добавить следующее:

dependencies {
  implementation "android.arch.lifecycle:common-java8:1.1.1"
  implementation 'android.arch.lifecycle:extensions:1.1.1'
}

cc @ matthew-carroll

Спасибо. Я просто использую канал разработчика и добавляю -ignorewarnings , он отлично работает.

работал у меня с flutter build appbundle
https://github.com/flutter/flutter/issues/18494#issuecomment -489807239

@blasten это закрыто на данный момент, или есть еще работа?

@cbracken , я думаю, это можно закрыть сейчас или после следующей стабильной версии.

Планируете ли вы решить проблему несовместимости с устройством ZenFone 2 и аналогичными устройствами x86, которые позволяют устанавливать приложения ARM из Play Store и использовать libhoudini для их запуска?

Я попытался создать канал dev но это сломало одну из моих зависимостей. Я попробую прокомментировать это и построить, чтобы посмотреть, работает ли приложение.

Также безопасно ли использовать канал dev для производственной версии?

Я никогда не использовал ветку вместо разработчика, и мои приложения работают без сбоев. Так что доверяйте ветке, она никогда не разочарует. @sulaysumaria

@matthewlloyd мы слышали от команды Play Store, что лучше добавить явный двоичный файл x86, чем пытаться заставить наши существующие двоичные файлы хорошо работать с переводчиком arm-> x86. - Тем не менее, команда недавно улучшила код, который генерирует компилятор Dart, и мне интересно, возможно, это заставило перевод работать. Попробуйте и дайте мне знать. В противном случае, в зависимости от ситуации, вам может потребоваться собрать версию JIT для x86, которая обычно используется для отладки / профилирования в эмуляторах.

@blasten Спасибо за информацию. Это ставит меня в затруднительное положение, потому что у меня самого нет ни одного из этих устройств - всего два анонимных отзыва в Play Store от недовольных пользователей ZenFone 2 - так что у меня нет возможности протестировать. Риск поломки слишком велик, чтобы выпускать еще одну сборку appbundle, пока кто-нибудь не подтвердит, что улучшенный код действительно работает на этих устройствах. Если нет способа указать Play Store исключить такие устройства, я буду продолжать выпускать сборки, созданные с помощью старой версии Flutter (и 32-разрядных APK), до тех пор, пока они не будут протестированы и подтверждены исправлением со стороны Google, или не будут подтверждены. проблема. Я предполагаю, что этого не произойдет, пока в магазин не будет добавлено больше приложений с использованием нового формата appbundle / .so. Я подожду...

для тех, кто все еще ищет, вот решение, которое сработало для меня:

сборка флаттера apk --split-per-abi
не сработало, даже после редактирования сборки gradle
из https://flutter.dev/docs/deployment/android#build -an-apk

вместо этого используйте:

  1. appbundle сборки flutter
  2. а затем загрузите app.aab

проблема исправлена ​​как для 32-, так и для 64-разрядной версии, а выпуск предупреждения не соответствует требованиям для 64-разрядной версии Play. "исчез.

Спасибо @ juliengit2 , flutter build appbundle действительно работает.

Также стоит упомянуть версию флаттера, потому что до сих пор у меня была версия 1.5.0, и она не работала.
Мне пришлось обновить (в настоящее время до v1.7.9), чтобы он работал.

@PerechicK , под последним вы имели в виду стабильный канал или канал разработчика?

Канал DEV, как он выглядит сегодня здесь: https://flutter.dev/docs/development/tools/sdk/releases?tab=windows

Я до сих пор не знаю, с какой версии эта проблема исправлена.

При использовании чего-либо, кроме стабильной ветки, я сталкиваюсь с одним из моих плагинов, выдающим ошибку «Методы, отмеченные https: // github. com / flutter / engine / commit / 2c9e37c34e79475bbde7c8163eb5e56cdb9662a1.

Есть ли способ собрать 64-разрядный пакет приложений при использовании стабильной ветки 1.5.4-hotfix.2?

@uj эта проблема https://github.com/flutter/flutter/issues/33562 может быть связана с вашей ошибкой при использовании firebase_database .

и нет 64-битной версии, представленной в 1.7.4+, согласно Flutter Docs

Нет, это не firebase_database, это на самом деле OneSignal, но их единственное решение - «использовать стабильную ветку Flutter».

Есть ли способ собрать 64-разрядный пакет приложений при использовании стабильной ветки 1.5.4-hotfix.2?

@uj даже если вы не можете создать 64-битный пакет приложений с помощью 1.5.4-hotfix.2 , вы можете создать 2 apks, один с 32-битным, один с 64-битным, загрузить оба apk в Google Store, чтобы устранить предупреждение.

Приложение Flutter 1.5.4-hotfix.2 в настоящее время нацелено на android-arm, который создает только 32-битный собственный код ( flutter build appbundle -h ). Чтобы изменить это, запустите flutter build appbundle --target-platform=android-arm64 чтобы изменить цель по умолчанию.

Сейчас это доступно на бета-канале, в версии v1.7.8+hotfix.2

@tvolkert - отличные новости, спасибо. Не могли бы вы уточнить, когда мы можем ожидать появления исправления в стабильной версии, например, когда это произойдет?

@ angel1st https://en.wikipedia.org/wiki/Forward-looking_statement 🙂

(мы работаем, чтобы это произошло как можно скорее)

@tvolkert - учитывая тот факт, что до крайнего срока Google по 64-битным apks осталось около трех недель, я бы ожидал крайнего срока и с вашей стороны. Также нам, как разработчикам, потребуется некоторый буфер времени между вашим выпуском и вышеупомянутым крайним сроком, чтобы мы могли создавать, тестировать и выпускать наши приложения, не беспокоя наших клиентов.
Помимо этого, я очень ценю усилия и результаты за последние пару месяцев, но я надеюсь, что вы сможете поставить себя на наше место и увидеть, как все выглядит с этой точки зрения. Спасибо за понимание и все ваши усилия!

@ angel1st абсолютно. Согласно более раннему объявлению , мы стремимся стабилизировать его к началу июля (так что очень скоро) - я просто не могу предсказать точную дату.

У меня такая проблема в unity 2017.4.20 или 2019.1.2, как ее решить? это
находится в ссылке: https://stackoverflow.com/questions/56687339/what-is-this-error-in-build-adroid-and-build-app-bundle-in-unity-2017-4-17, пожалуйста, помогите мне Потому что я в этой проблеме 2 месяца спасибо

Надеюсь, что этот вопрос будет решен как можно скорее. Срок сжатый

@DoubleHub вы можете перейти на бета-канал, чтобы решить эту проблему.
Или дождитесь выпуска стабильной версии 8 июля.

@ abc873693 Читал, думаю дождусь стабильной версии. Я рад, что эта проблема наконец-то решена официально!

@ abc873693 У меня возникли проблемы при попытке опубликовать приложения для Android в магазине воспроизведения с использованием канала _beta_. В отчетах перед запуском были показаны предупреждения о доступности. Похоже, что приложение не вышло за пределы экрана-заставки. Все скриншоты для всех устройств остались на заставке.

Решением для меня было просто переключиться на СТАБИЛЬНЫЙ канал и собрать пакет приложений с помощью флага --target-platform.

Всем привет,

v1.7.8+hotfix.2 выпущен в стабильный канал, поэтому теперь это исправление доступно для всех каналов. Спасибо всем за терпение и помощь!

@tvolkert Спасибо! Я только что подтвердил, что упомянутого здесь наблюдения больше нет в стабильном канале!

@tvolkert как применить этот v1.7.8+hotfix.2 к существующему проекту? Мне нужно воссоздавать все заново?

@jaasaria эта проблема связана с созданием пакета приложений по

@jaasaria просто выполните: $ flutter channel stable && flutter upgrade

@MaikuB Я создал свой файл src месяц назад, и каждый раз, когда я создаю свой проект, мне нужно выполнять команду flutter build appbundle --target-platform=android-arm64 вместо flutter build appbundle чтобы избежать ошибки playstore x64.

@dblokhin Только что обновили, и, к счастью, мой проект не сломался. :) Спасибо вам

Спасибо @ juliengit2 , flutter build appbundle действительно работает.

Также стоит упомянуть версию флаттера, потому что до сих пор у меня была версия 1.5.0, и она не работала.
Мне пришлось обновить (в настоящее время до v1.7.9), чтобы он работал.

Спасибо за предупреждение!

У меня flutter версия 1.7.8 + hotfix.3 будет "flutter build appbundle" приведет к app.aab как с 32, так и с 64 битами?

странно, я пробовал с 1.7.8 + hotfix.3 со стабильным каналом, и снова получаю предупреждение playstore:

«Этот выпуск не соответствует требованиям 64-разрядной версии Google Play ...»

при загрузке пакета после: _flutter build appbundle_

Я попытался также улучшить флаттер, но результат тот же.
и с новой установкой Flutter: тот же результат

Вот мой конф:
m

Любая идея??

@ juliengit2 Откройте .aab как обычный zip, перейдите в папку base/lib и проверьте, есть ли папки armeabi-v7a и arm64-v8a

Пытался сделать это с моим приложением "flutter build appbundle". Папка lib содержит как v8a, так и v7a. Могу ли я отправить обновление сейчас, я не хочу, чтобы мне приходило еще одно предупреждение на электронную почту.

Еще один аналогичный случай получения предупреждения удаленным APK https://github.com/flutter/flutter/issues/18494#issuecomment -509937209

для тех, у кого такая же проблема, я удалил в build.gradle:

ndk {
    abiFilters "armeabi-v7a", "x86", "armeabi", "mips"
}

и предупреждение исчезло.

(если вы сохраните абифильтры, вы все равно получите сообщение «версия не соответствует требованиям» даже с _flutter build appbundle_

Привет, я успешно создал свой appbundle, но когда я пытаюсь загрузить его в игровой магазин, я получил эту ошибку ...
Чтобы загрузить Android App Bundle, вы должны быть зарегистрированы в программе подписания приложений в Google Play.
Экспортируйте свой ключ из Android Studio. В меню «Сборка» выберите «Создать подписанный пакет / APK». Выберите опцию Bundle и нажмите Next. Выберите Экспорт зашифрованного ключа и нажмите Далее.

Я пытаюсь экспортировать зашифрованный ключ прямо из модуля Android, но я не могу завершить процесс, потому что получаю эту ошибку

Процесс 'command' / Users / oaacelasu / Documents / flutter / bin / flutter 'завершен с ненулевым значением выхода 1

bref, я предположил, что это неправильный способ ... Есть ли другой обходной путь, чтобы получить зашифрованный ключ для регистрации приложения непосредственно с помощью команды appbundle flutter build?

Я пробовал использовать appbundle в магазине игр,
но в android 6.0 arm 64 он разбился при запуске из-за невозможности найти libflutter.so, и после того, как я проверил, libflutter.so был включен в aab arm 64

@matthewlloyd , я воспроизвел это с помощью местного хромбук (хотя этот хромбук может уехать в поездку на три недели в понедельник. Я должен проверить). Я думаю, что он _должен_ воспроизводиться на большинстве хромбуков x86 - я думаю, что их, вероятно, больше, чем телефонов x86.

команда недавно улучшила код, который генерирует компилятор Dart, и мне интересно, возможно, это заставило перевод работать. Попробуйте и дайте мне знать. В противном случае, в зависимости от ситуации, вам может потребоваться собрать версию JIT для x86, которая обычно используется для отладки / профилирования в эмуляторах.

@blasten , вы думали о какой-то конкретной версии Dart? Я воспроизводил с 2.3.1 (с флаттером 1.7.8 + hotfix.2) Тестировать с 2.4.0?

Также я воспроизвел, когда мы выпустили альфа-сборку. Мне все еще нужно изучить, как протестировать appbundle, не заходя в игровой магазин.

@wreppun Спасибо за внимание, пока я не буду выпускать AAB нового стиля для своих пользователей, поскольку кажется, что проблема еще не устранена (или даже признана Google!). Можете ли вы поделиться дополнительной информацией о конкретном Chromebook и есть ли способ записать журнал сбоев?

@matthewlloyd Вот что было обнаружено в журнале сбоев Play Store:

java.lang.UnsatisfiedLinkError: 
  at java.lang.Runtime.loadLibrary0 (Runtime.java:984)
  at java.lang.System.loadLibrary (System.java:1530)
  at io.flutter.view.FlutterMain.startInitialization (FlutterMain.java:122)
  at io.flutter.view.FlutterMain.startInitialization (FlutterMain.java:99)
  at io.flutter.app.FlutterApplication.onCreate (FlutterApplication.java:22)
  at android.app.Instrumentation.callApplicationOnCreate (Instrumentation.java:1024)
  at android.app.ActivityThread.handleBindApplication (ActivityThread.java:5549)
  at android.app.ActivityThread.-wrap2 (ActivityThread.java)
  at android.app.ActivityThread$H.handleMessage (ActivityThread.java:1595)
  at android.os.Handler.dispatchMessage (Handler.java:102)
  at android.os.Looper.loop (Looper.java:154)
  at android.app.ActivityThread.main (ActivityThread.java:6320)
  at java.lang.reflect.Method.invoke (Native Method)
  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run (ZygoteInit.java:891)
  at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:781)

Это может появиться в некоторых из ваших (старых) журналов сбоев, если кто-то из ваших пользователей разрешил делиться статистикой.

Устройство было HP Chromebook x360.

Мне очень жаль, что это не работает на 100% конфигураций. Мы работаем над улучшением тестового покрытия для различных SDK и устройств. А пока я собираюсь настроить несколько тестов в тестовой лаборатории Firebase.

На данный момент я думаю, что наиболее эффективный способ исправить все эти проблемы - это, вероятно, зарегистрировать новые проблемы и дать обратную ссылку на эту. @tvolkert и я позаботимся о том, чтобы каждый из них был полезно, если бы мы могли отсортировать их по отдельным сегментам и отслеживать их исправления по отдельности.

Очень возможно, что нам нужно внести небольшие изменения в компилятор Dart, которые мы делали в прошлом для процессоров или эмуляторов, которые имеют определенные особенности процессора. Без тестирования самого Chromebook x86 (чего я еще не делал) я не могу сказать наверняка.

Не могли бы те, у кого возникли проблемы, помочь нам разобраться с оставшимися проблемами, заполнив для каждой новые проблемы? Это было бы большим подспорьем, если бы мы обратились к каждому из них. Спасибо!

@wreppun Спасибо - я проверил отчеты о сбоях своего приложения, и ни один из затронутых пользователей Asus ZenFone 2 ничего не отправил.

@blasten Не беспокойтесь, это здорово. Если кто-то сможет показать, что новые приложения работают на устройстве Asus ZenFone 2, этого было бы достаточно, чтобы я двигался вперед. К сожалению, у меня нет доступа к одному, но я надеюсь, что лаборатории мобильного тестирования Google есть.

@matthewlloyd нет "Asus ZenFone" в тестовой лаборатории Firebase. Какая версия SDK? В большинстве случаев проблему можно воспроизвести, просто запустив определенную версию Android SDK.

Какая версия SDK? В большинстве случаев проблему можно воспроизвести, просто запустив определенную версию Android SDK.

😂

Привет, команда Flutter,
Хочу подчеркнуть статус этой темы. С моей точки зрения, есть две серьезные проблемы:

  • Текущая стабильная версия флаттера 1.7.8+hotfix.3 не создает стабильных apks - по крайней мере, split-per-abi не работает должным образом - arm32 имеет проблему регрессии и не может работать на некоторых устройствах arm32 . Пока не ясно, когда это будет исправлено;
  • Крайний срок 1 августа - примерно через неделю мы, разработчики, не сможем ни обновлять, ни выпускать новые приложения flutter в Google Play Store - все очень просто. Учитывая текущую проблему с версией флаттера (как упоминалось выше) и оставшееся время, я не думаю, что можно ожидать исправления в стабильном канале до конца месяца (если у кого-то из вас, ребята, нет волшебной палочки: - ))

Учитывая два вышеупомянутых вопроса, я хотел бы предложить следующий план действий в чрезвычайных ситуациях, который ИМО лучше всего подойдет нам как разработчикам:

  • Откат флаттера стабильного канала до его версии до hotfix.2
  • Перенести крайний срок 1 августа на пару месяцев - я понимаю, что это потребует некоторой эскалации проблемы, но я надеюсь, что вы, ребята, поймете, насколько серьезным может быть влияние, если разработчики не смогут выпустить надежное приложение для флаттера после 1 августа из-за проблем с фреймворком.

Я могу говорить только от своего имени, но у меня есть клиенты с контрактами, и я решил перейти с React Native на Flutter, поскольку я считал, что Google обеспечит лучшую поддержку их собственных продуктов. У меня есть незавершенные проекты и приложения, которые нужно поддерживать.
Теперь я оказался в абсурдном случае, когда Google вынуждает меня выпустить 64-битную версию apk, и в то же время Google не предоставляет мне инструмент для этого (и да, я знаю, что команда Flutter - это не то же самое, что Google Play команда, но откуда я - вы такая же бизнес-организация).
Если Google не сможет выполнить поставку вовремя, это приведет к сильному сопротивлению со стороны Flutter, поскольку каждый день после 1 августа будет снижать доверие к фреймворку.
Прошу прощения, если мои слова звучат немного сильнее, я только надеюсь, что вы сможете поставить себя на мое место на данный момент.

Кто угодно - проголосуйте за это, и, надеюсь, наш голос будет услышан!

Я также согласен с этим ... Но в качестве плана на случай непредвиденных обстоятельств я бы посоветовал не откатываться к предыдущей версии, а переключиться на канал dev ....

По моему личному опыту, мне тоже сначала было неудобно использовать канал dev i. Я подумал о том, чтобы придерживаться канала stable , потому что он стабилен! ... Но теперь я использую канал dev и без проблем выпускаю приложения с использованием пакетов приложений в магазине игр .. ..

Ситуация - это то, чего не должно происходить, поскольку оба являются продуктом Google ...

То, что я представил, - это просто более простой обходной путь, потому что вы можете начать продвигать обновления, используя aab s, а не apk s, как предлагает Google ...

@ angel1st такая же проблема, те же проблемы, та же обувь
@sulaysumaria, если мы переключимся на канал разработчика, проблема с libapp.so будет решена?
Потому что ни один главный канал не работает

То, что я представил, - это просто более простой обходной путь, потому что вы можете запускать обновления, используя aabs, а не apks, что предлагает Google ...

@sulaysumaria - это не так просто, как кажется, поверьте мне ... Также повторное переключение на канал разработчика, похоже, приводит к некоторым осложнениям со сторонними пакетами и плагинами, что приведет к другому набору проблем.

@campioncino Я думаю, что да, потому что я никогда не сталкивался с этой проблемой .... Я просто создаю набор релизов и загружаю его в игровой магазин ... Он никогда не показывает никаких предупреждений .... и приложение работает нормально при установке из игрового магазина ( по крайней мере, то, что мой клиент использует до сих пор ...)

@ angel1st , я могу понять ... в этом случае откат - единственный вариант ... Но эти зависимости нужно обновить, иначе вы никогда не сможете перейти на более новую версию ... Я также столкнулся с такой проблемой с одним плагином Я использовал, к счастью, они выпустили более новую бета-версию для поддержки более новой версии flutter ... Может быть, если плагин не поддерживается, мы не должны его использовать ..

@sulaysumaria Я тоже с этой проблемой не сталкивался ... до последней сборки.
Попробую, но проверить не так-то просто, потому что такое бывает только на некоторых устройствах.

Например на Samsung Galaxy Tab 2 7.0 P3110, Android 4.2.2 и на каком-то другом старом планшете с android 4.1.2.

Ооо ... Мое приложение не для планшетов, это точно ... Лучше бы вы хоть раз протестировали ...

Всем привет,

Вот текущий статус:

  1. Есть сведения, что https://github.com/flutter/flutter/issues/35838 влияет на Android 4.2 и более ранние версии, что означает, что он влияет на ~ 3% телефонов Android . Мы работаем с затронутыми людьми над этой ошибкой, чтобы определить объем исправления и отследить возможные дополнительные проблемы, которые, вероятно, затрагивают только некоторые приложения (например, возможная несвязанная ошибка в виртуальной машине Dart , которая проявляется не во всех приложениях). Основываясь на этом исследовании и его заключении, мы решим, что лучше: патчить текущий стабильный выпуск или продвигать новый выпуск по каналам к стабильному.

  2. Если кто-то предпочтет собрать более раннюю версию Flutter и вручную собрать 32- и 64-разрядные APK, он может сделать это, загрузив более раннюю версию Flutter здесь . Откатить наш стабильный выпуск нельзя - это вызовет гораздо больше проблем, чем решит.

  3. Если у кого-то возникают проблемы при сборке для Android _ кроме https://github.com/flutter/flutter/issues/35838 , отправьте отдельную проблему и отправьте мне копию, так как мы очень хотим отслеживать любые такие проблемы.

  4. Кроме того, мы активно работаем над увеличением нашей тестовой матрицы, чтобы лучше обнаруживать проблемы на более широком спектре устройств / версий Android на более ранних этапах процесса (чтобы отчеты об ошибках не были нашей первой линией защиты).

@tvolkert - спасибо за отзыв. Просто чтобы убедиться, что мы находимся на одной странице - откат к предыдущей версии Flutter не имеет смысла до 1 августа, когда крайний срок откладывается , поскольку Google Play не позволяет мне загружать 32 версии приложения только после 1 августа.

@ angel1st подойдет ли этот вариант для вашего случая?

  1. Вернуть flutter SDK к v1.5.4-hotfix.2 ( flutter version v1.5.4-hotfix.2 )
  2. Создайте 2 отдельных APK (один на 32-битном flutter build apk --target-platform android-arm и один на 64-битном flutter build apk --target-platform android-arm64 )
  3. Загрузите оба этих APK в Google Play Store.

Я знаю, что это обходной путь, но, по крайней мере, он решает как проблему стабильности, так и «предупреждение».

@truongsinh - спасибо за предложение - стоит подумать. Не могли бы вы подтвердить, что шаг 2 из вашего предложения выше не потребует изменений, как в предыдущем предложении, например, app gradle поправок?

@ angel1st, если у вас есть все приложение во флаттере (т.е. не https://github.com/flutter/flutter/wiki/Add-Flutter-to-existing-apps), и вы ничего не изменили в Gradle файлы (то есть ванильные файлы из flutter create ), я считаю, что нам не нужно ничего делать.

Вы можете выполнить быструю проверку самостоятельно (предполагая версию «3.4.5», следуя https://github.com/flutter/flutter/issues/31922#issuecomment-512292798, мой личный выбор формата для «номера сборки» - bbxxyyzz , в котором bb - только для идентификации 32- или 64-разрядной версии, xx - основной, yy - второстепенный, zz - патч, но есть и другие рекомендуемые форматы, см. https://developer.android.com/google/play/publishing/multiple-apks#using-a-version-code-scheme):

  • flutter create hello_world
  • flutter build apk --target-platform android-arm --build-number 32030405 --build-name=3.4.5
  • mv build/app/outputs/apk/release/app-release.apk build/app/outputs/apk/release/app-release-32.apk
  • flutter build apk --target-platform android-arm64 --build-number 64030405 --build-name=3.4.5
  • mv build/app/outputs/apk/release/app-release.apk build/app/outputs/apk/release/app-release-64.apk

Я включаю сюда 2 APK. Они работают с моим Pixel 2. Также, глядя на анализ APK, мы можем ясно видеть, что каждый APK имеет разные libflutter.so и 4 файла моментальных снимков / aot.

Screen Shot 2019-07-17 at 1855 27

app-release-32.apk.zip
app-release-64.apk.zip

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

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

Ах, это правда (см. Https://developer.android.com/google/play/publishing/multiple-apks#Rules). Просто убедитесь, что для каждой версии номер сборки 64-битной версии выше 32-битной (я обновил свой предыдущий пример https://github.com/flutter/flutter/issues/31922#issuecomment-512223030).

Привет, я получаю сообщение об ошибке, когда пытаюсь построить с помощью appbundle . flutter build apk работает нормально, но я хочу опубликовать новую версию в игровом магазине. Может ли кто-нибудь помочь мне, в чем может быть причина?

Результат выполнения flutter build appbundle --target-platform android-arm,android-arm64 --flavor my_flavor --release -t "bin/main.dart следующий:

Initializing gradle...                                              0,6s
Resolving dependencies...                                           2,0s
Running Gradle task 'bundleMy_AppRelease'...                   
Running Gradle task 'bundleMy_AppRelease'... Done          1,9s
Gradle build failed to produce an Android bundle package.

К сожалению, сообщение об ошибке бесполезно. Также вывод доктора трепетания:

[✓] Flutter (Channel stable, v1.7.8+hotfix.3, on Mac OS X 10.14.5 18F132, locale de-DE)
    • Flutter version 1.7.8+hotfix.3 at /Users/tom/development/flutter
    • Framework revision b712a172f9 (2 weeks ago), 2019-07-09 13:14:38 -0700
    • Engine revision 54ad777fd2
    • Dart version 2.4.0

[✓] Android toolchain - develop for Android devices (Android SDK version 28.0.3)
    • Android SDK at /Users/tom/Library/Android/sdk
    • Android NDK location not configured (optional; useful for native profiling support)
    • Platform android-28, build-tools 28.0.3
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1343-b01)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 10.3)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 10.3, Build version 10G8
    • CocoaPods version 1.6.1

[✓] iOS tools - develop for iOS devices
    • ios-deploy 1.9.4

[✓] Android Studio (version 3.4)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin version 36.1.1
    • Dart plugin version 183.6270
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1343-b01)

[✓] Connected device (1 available)
    • iPhone Xʀ • 095B1A07-E138-4A80-9783-8CA36DC8049A • ios • com.apple.CoreSimulator.SimRuntime.iOS-12-4 (simulator)

• No issues found!

Редактировать
Если я попытаюсь использовать --split-per abi сборка также потерпит неудачу с flutter build apk .

@wreppun Спасибо - я проверил отчеты о сбоях своего приложения, и ни один из затронутых пользователей Asus ZenFone 2 ничего не отправил.

@blasten Не беспокойтесь, это здорово. Если кто-то сможет показать, что новые приложения работают на устройстве Asus ZenFone 2, этого было бы достаточно, чтобы я двигался вперед. К сожалению, у меня нет доступа к одному, но я надеюсь, что лаборатории мобильного тестирования Google есть.

Даже я столкнулся с проблемой с Asus Zenfone. Когда я использую flutter build apk приложение запускается на телефоне. Но когда я загружаю его в App Store с помощью appbundle, он не опережает заставку.

Любое решение ??

Я попытался скомпилировать и выпустить одну новую версию одного из моих приложений (приложений) в «Play Store», но у меня возникли некоторые проблемы.

1-) Когда я загружаю 32- и 64-битные версии, сайт отказывается от использования из-за 32-битной версии.

2-) Когда я загружаю только 32 бита, сайт отказывается, потому что мне нужны 64 бита.

3-) Когда я загружаю только 64 бита, сайт работает, но у моих клиентов, возможно, нет 64-битного Android. Например, в своем мобильном телефоне я использую то же приложение, но в моем мобильном телефоне он просто работает, когда я использую 32-битный apk. Когда я устанавливаю 64 бита apk в свой мобильный телефон, он останавливается на заставке.

Как я должен сделать сейчас, чтобы выпустить ??

Tigerclaw1980 использовать опцию флаттера

Tigerclaw1980 использует опцию флаттер-аппбандла @MoacirSchmidt

Я использовал Delphi Beta для создания файлов apk для 32 и 64 бит. Я не знаю, доступна ли эта опция

Я попытался скомпилировать и выпустить одну новую версию одного из моих приложений (приложений) в «Play Store», но у меня возникли некоторые проблемы.

1-) Когда я загружаю 32- и 64-битные версии, сайт отказывается от использования из-за 32-битной версии.

2-) Когда я загружаю только 32 бита, сайт отказывается, потому что мне нужны 64 бита.

3-) Когда я загружаю только 64 бита, сайт работает, но у моих клиентов, возможно, нет 64-битного Android. Например, в своем мобильном телефоне я использую то же приложение, но в моем мобильном телефоне он просто работает, когда я использую 32-битный apk. Когда я устанавливаю 64 бита apk в свой мобильный телефон, он останавливается на заставке.

Как я должен сделать сейчас, чтобы выпустить ??

@ Tigerclaw1980 вы исправили эту ошибку?

Была ли эта страница полезной?
0 / 5 - 0 рейтинги