При запуске приложения Flutter для Android происходит сбой при включении определенного пакета. - PullRequest
0 голосов
/ 21 мая 2018

В последнее время неожиданно возникла проблема, заключающаяся в том, что просто путем включения зависимости в 'location' в pubspec.yaml, например, например

dependencies:
  flutter:
    sdk: flutter

  location: ^1.2.0  <------------------------ culprit
  firebase_auth: ^0.5.10  
  cloud_firestore: ^0.7.2   

the app crashes immediately upon startup.

Сам пакет 'location' работает, когда он один в примере приложения.В настоящее время я не импортирую, т.е. использую какие-либо функции, содержащиеся в пакете местоположения, но когда я удаляю запись, все хорошо.

К сожалению, никаких подсказок от просмотра журнала флаттера нет ...

Ответы [ 5 ]

0 голосов
/ 01 июня 2019

не нужно ничего менять, простое flutter build apk решит проблему (если все пакеты в pubspec.yaml обновлены и не содержат ошибок)

это происходитдовольно часто при переключении на ветку с совершенно другим списком пакетов flutter необходимо собрать ...

0 голосов
/ 04 декабря 2018

У меня были похожие проблемы, и, потратив на это несколько хороших часов, я обнаружил, что проблема в Kotlin, что я создал проект без поддержки Kotlin и Swift.Часть кода Dart работает нормально, но приложение Android может аварийно завершить работу при запуске с кодом Kotlin, но прекрасно работает с Java.

Чтобы создать проект Flutter с поддержкой Kotlin / Swift из команды:

flutter create --org co.uk.sample -i swift -a kotlin --description 'Your Project Description' sample_app

Где - org определяет путь к проекту, -i включает Swift, -a включает Kotlin, за которым следует ваше приложениеимя в конце.

0 голосов
/ 23 августа 2018

У меня была такая же проблема с физическим устройством android, как и с эмулятором.Я не совсем уверен, как я решил это, но вот шаги:

  • Используйте более низкую версию того же пакета (cached_network_image в моем случае) в pubspec.yaml.
  • Если приложение все еще падает, снова запустите flutter upgrade и flutter packages get.
  • Полностью остановите и перезапустите ваше приложение (без перезагрузки).Теперь он не должен падать.

Следует отметить, что мое приложение не аварийно завершало работу даже после изменения версии пакета обратно на последнюю версию в pubspec.yaml после выполнения 3 вышеуказанных шагов.

0 голосов
/ 23 августа 2018

Я столкнулся с той же проблемой.Что я сделал, так это вставил строку multiDexEnabled true в мое build.gradle приложения.Вот так:

    defaultConfig {
        // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
        applicationId "com.example"
        minSdkVersion 16
        targetSdkVersion 27
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"

        multiDexEnabled true //Insert this line
    }

Попробуйте и выполните команды flutter clean, flutter build apk и flutter run.Это должно решить вашу проблему.

0 голосов
/ 03 июня 2018

У меня похожая проблема, но для меня это другой пакет.

stripe_payment: "^ 0.0.6"

Я не вижу ничего в журналах, которые выглядят следующим образом:

Использование аппаратного рендеринга с устройством Android SDK, созданным для x86.Если вы получаете графические артефакты, рассмотрите возможность включения программного рендеринга с помощью "--enable-software-render".

Запуск lib / main.dart на Android SDK, созданном для x86 в режиме отладки ... Инициализация gradle ...3.2s Устранение зависимостей ... 17.4s Запуск 'gradlew assemblyDebug' ... 48.1s Встроенная сборка \ app \ output \ apk \ debug \ app-debug.apk.Установка сборки \ app \ output \ apk \ app.apk ... 2.4s

...