Вопрос или проблема
Когда я запускаю проект Flutter без режима отладки, все нормально и он открывается, но когда я пытаюсь запустить его в режиме отладки, он зависает и не открывается на виртуальном устройстве. Это странно, логи ниже:
Подключение к VM Service по адресу ws://127.0.0.1:54937/_bRt9qNAo2E=/wsПодключено к VM Service.D/ProfileInstaller( 3872): Установка профиля для com.example.lotus_pilatesE/flutter ( 3872): [ERROR:flutter/runtime/dart_vm_initializer.cc(40)] Неперехваченное исключение: PlatformException(invalid_icon, Ресурс app_icon не найден. Пожалуйста, убедитесь, что он добавлен как ресурс drawable в ваш проект Android., null, null)E/flutter ( 3872): #0 StandardMethodCodec.decodeEnvelope (package:flutter/src/services/message_codecs.dart:646:7)E/flutter ( 3872): #1 MethodChannel._invokeMethod (package:flutter/src/services/platform_channel.dart:334:18)E/flutter ( 3872): <асинхронная приостановка>E/flutter ( 3872): #2 AndroidFlutterLocalNotificationsPlugin.initialize (package:flutter_local_notifications/src/platform_flutter_local_notifications.dart:143:12)E/flutter ( 3872): <асинхронная приостановка>E/flutter ( 3872):W/FlutterJNI( 3872): Метод FlutterJNI.loadLibrary вызван более одного разаI/ResourceExtractor( 3872): Найдены извлеченные ресурсы res_timestamp-1-1728163301184W/FlutterJNI( 3872): Метод FlutterJNI.prefetchDefaultFontManager вызван более одного разаW/FlutterJNI( 3872): Метод FlutterJNI.init вызван более одного разаI/FLTFireBGExecutor( 3872): Создание фона экземпляра FlutterEngine с аргументами: [--start-paused, --enable-dart-profiling]I/FLTFireMsgService( 3872): Служба фоновоого сообщения FlutterFirebaseMessaging начала работу!
Может кто-нибудь помочь мне решить эту проблему?
Ответ или решение
Проблема, с которой вы столкнулись, связана с тем, что ваше приложение Flutter не может найти ресурс app_icon
при запуске в режиме отладки. Это может быть вызвано тем, что иконка приложения не была добавлена в проект Android должным образом, или же возникли проблемы с инициализацией плагина. Давайте разберемся, как решить эту проблему шаг за шагом.
Шаги по устранению проблемы:
-
Проверьте ресурсы иконки приложения:
- Убедитесь, что файл иконки приложения (
app_icon
) добавлен в директориюandroid/app/src/main/res/drawable-<density>
своей Android-части проекта. Обычно иконка приложения должна быть в нескольких размерах, чтобы соответствовать различным плотностям экранов (mdpi, hdpi, xhdpi и т.д.). - Убедитесь, что файл называется именно так, как указано в вашем
AndroidManifest.xml
(обычно это@mipmap/ic_launcher
или@drawable/app_icon
в зависимости от вашей конфигурации).
- Убедитесь, что файл иконки приложения (
-
Обновите
AndroidManifest.xml
:- Проверьте файл
android/app/src/main/AndroidManifest.xml
на наличие правильной ссылки на иконку приложения. Например:<application android:icon="@mipmap/ic_launcher" ... >
- Проверьте файл
-
Очистите и пересоберите проект:
- Выполните команду в терминале для очистки проекта:
flutter clean
- Затем пересоберите проект:
flutter pub get flutter run
- Выполните команду в терминале для очистки проекта:
-
Проверка зависимостей:
- В логах видно, что ошибка связана с плагином
flutter_local_notifications
. Убедитесь, что все зависимости в вашемpubspec.yaml
корректны и обновлены. Вы можете также попробовать удалить и заново добавить плагин:dependencies: flutter_local_notifications: ^x.y.z # Убедитесь, что используете последнюю стабильную версию
- В логах видно, что ошибка связана с плагином
-
Проверка режима отладки:
- Убедитесь, что нет конфликтующих режимов или антивирусных программ, которые могут блокировать вашу отладочную сессию.
- Попробуйте перезапустить эмулятор и сам Flutter, чтобы исключить возможные временные сбои.
-
Логи и отладка:
- Если ошибка сохраняется, внимательно изучите логи и попробуйте изолировать проблему, добавляя или удаляя зависимости, чтобы проверить, не вызывает ли проблема какой-либо конкретный плагин.
Если выполненные шаги не решили проблему, рекомендуется создать новое приложение Flutter с помощью команды flutter create
, чтобы проверить, воспроизводится ли ошибка в новом проекте. Если новое приложение запускается в режиме отладки, проблема может быть связана с вашим конкретным проектом.
Надеюсь, эти рекомендации помогут вам решить вашу проблему! Если у вас возникнут дополнительные вопросы, пожалуйста, не стесняйтесь обращаться.