Start Debugging

android

42 статей · Страница1из5

2026-10-25 flutterdartios

Как заблокировать ориентацию экрана для одного экрана во Flutter (и почему многозадачность на iPad её игнорирует)

Как зафиксировать один маршрут Flutter в альбомной или портретной ориентации через SystemChrome.setPreferredOrientations, не ломая остальное приложение: блокировка на основе стека, которая переживает pushReplacement и восстанавливается при pop, почему пустой список не годится для сброса, почему многозадачность iPad и большие экраны Android 16 игнорируют блокировку и что означает UIRequiresFullScreen после iPadOS 26 и iOS 27 SDK. Проверено на Flutter 3.47.8 с Dart 3.13.7 и Xcode 27.1.

Исправление: Module was compiled with an incompatible version of Kotlin. The binary version of its metadata is X, expected version is Y (Flutter Android)

Зависимость собрана с версией Kotlin, которая как минимум на две минорные версии новее компилятора вашей сборки. Поднимите версию org.jetbrains.kotlin.android в settings.gradle.kts до X минус один или выше либо закрепите зависимость на старой версии.

Исправление: PlatformException(sign_in_failed, com.google.android.gms.common.api.ApiException: 10) при Google Sign-In во Flutter

ApiException: 10 означает DEVELOPER_ERROR: Google не узнаёт пару из имени пакета и SHA-1 сертификата подписи установленного APK. Зарегистрируйте SHA-1 ключа, которым действительно подписана сборка, и передайте Web client ID как serverClientId.
2026-10-19 flutterdartandroid

Как восстановить состояние UI после остановки процесса Android во Flutter с помощью RestorationMixin

Android завершает фоновые приложения Flutter, чтобы освободить память, и когда пользователь возвращается, каждый StatefulWidget начинает с нуля. Здесь показано, как включить восстановление через restorationScopeId, RestorationMixin и свойства Restorable, восстановить текстовые поля, позиции прокрутки и открытые маршруты, написать собственный RestorableValue и протестировать всё это с помощью restartAndRestore и adb. Проверено на Flutter 3.44.8 и эмуляторе Android 16.
2026-10-10 flutterdartflavors

Что такое flavor во Flutter и чем он отличается от режима сборки

Режим сборки (debug, profile, release) определяет, как Flutter компилирует ваш Dart-код. Flavor (dev, staging, prod) это нативный вариант сборки, который вы описываете в Gradle и Xcode и который определяет, какое именно приложение вы выпускаете. Это независимые оси: 2 flavor на 3 режима дают 6 сборок. Проверено на Flutter 3.44.8 с AGP 9.0.1, исходный код сверен с версией 3.47.7.
2026-10-05 flutterdartadmob

Как зарезервировать место под адаптивный баннер AdMob во Flutter, чтобы избежать сдвига макета

Официальный пример google_mobile_ads ничего не рисует до onAdLoaded, поэтому ваш контент прыгает на 150 dp через несколько секунд после появления экрана. Сначала запросите размер закреплённого адаптивного баннера, зарезервируйте его через SizedBox, сохраните высоту между запусками и только потом загружайте рекламу. Измерения выполнены на Flutter 3.44.8 с google_mobile_ads 9.1.0.

Исправление: значки строки состояния Android нечитаемы после включения UseMaterial3 в .NET MAUI 10

MAUI 10.0.100 выбирает цвет значков строки состояния по colorPrimary, а его яркость противоположна яркости поверхности Material 3, поэтому получается белое на белом или чёрное на чёрном. Обновите Microsoft.Maui.Controls до 10.0.101 или новее либо сбросьте AppearanceLightStatusBars в MainActivity.
Вперёд