Я получаю эти ошибки при выполнении этой команды
flutter run --flavor development -t lib/config/main_development.dart --verbose-system-logs
Ошибки:
Tried to automatically register plugins with FlutterEngine (io.flutter.embedding.engine.FlutterEngine@b5226bb) but could not find and invoke the GeneratedPluginRegistrant.
E/flutter (28896): [ERROR:flutter/lib/ui/ui_dart_state.cc(166)] Unhandled Exception: MissingPluginException(No implementation found for method initialize on channel flutter_stetho)
вывод доктора флаттера:
➜ flutter doctor -v
[✓] Flutter (Channel master, 1.20.0-8.0.pre.22, on Mac OS X 10.14.6 18G3020, locale en)
• Flutter version 1.20.0-8.0.pre.22 at /Users/vedantrathore/tools/flutter
• Framework revision 61a04b1551 (11 hours ago), 2020-07-09 15:52:19 +0800
• Engine revision 0ec6f6c3f2
• Dart version 2.9.0 (build 2.9.0-20.0.dev 06cb010247)
[✓] Android toolchain - develop for Android devices (Android SDK version 29.0.3)
• Android SDK at /Users/vedantrathore/Library/Android/sdk
• Platform android-29, build-tools 29.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_212-release-1586-b4-5784211)
• All Android licenses accepted.
[✓] Xcode - develop for iOS and macOS (Xcode 11.3.1)
• Xcode at /Applications/Xcode.app/Contents/Developer
• Xcode 11.3.1, Build version 11C504
• CocoaPods version 1.9.1
[✓] Android Studio (version 3.6)
• Android Studio at /Applications/Android Studio.app/Contents
• Flutter plugin version 44.0.2
• Dart plugin version 192.7761
• Java version OpenJDK Runtime Environment (build 1.8.0_212-release-1586-b4-5784211)
[✓] VS Code (version 1.46.1)
• VS Code at /Applications/Visual Studio Code.app/Contents
• Flutter extension version 3.12.1
[✓] Connected device (1 available)
• GM1901 (mobile) • 192.168.29.75:5555 • android-arm64 • Android 10 (API 29)
• No issues found!
Это это мой файл app / build.gradle
def localProperties = new Properties()
def localPropertiesFile = rootProject.file('local.properties')
if (localPropertiesFile.exists()) {
localPropertiesFile.withReader('UTF-8') { reader ->
localProperties.load(reader)
}
}
def flutterRoot = localProperties.getProperty('flutter.sdk')
if (flutterRoot == null) {
throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.")
}
def flutterVersionCode = localProperties.getProperty('flutter.versionCode')
if (flutterVersionCode == null) {
flutterVersionCode = '1'
}
def flutterVersionName = localProperties.getProperty('flutter.versionName')
if (flutterVersionName == null) {
flutterVersionName = '1.0'
}
apply plugin: 'com.google.gms.google-services'
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
android {
compileSdkVersion 28
sourceSets {
main.java.srcDirs += 'src/main/kotlin'
}
lintOptions {
disable 'InvalidPackage'
}
defaultConfig {
// TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
applicationId "com.habitwave"
minSdkVersion 18
targetSdkVersion 28
versionCode flutterVersionCode.toInteger()
versionName flutterVersionName
}
buildTypes {
release {
// TODO: Add your own signing config for the release build.
// Signing with the debug keys for now, so `flutter run --release` works.
signingConfig signingConfigs.debug
minifyEnabled true
useProguard true
}
debug{
minifyEnabled true
useProguard true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
flavorDimensions "flutter-flavours"
productFlavors{
development{
dimension "flutter-flavours"
versionNameSuffix "-dev"
}
staging{
dimension "flutter-flavours"
versionNameSuffix "-stg"
}
production{
dimension "flutter-flavours"
}
}
}
flutter {
source '../..'
}
dependencies {
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
implementation 'com.google.firebase:firebase-analytics:17.2.2'
}
Я пытаюсь использовать пакет flutter_secure_storage, из-за чего мне нужно установить minSdkVersion на 18 и использовать правила Proguard, чтобы избежать multiDex (поскольку это требует minSdkVersion 21)
Решения, которые я пробовал:
- Запуск
flutter clean
, удаление приложения, очистка ~/.pub-cache
- Переход на главный канал из стабильного
РЕДАКТИРОВАТЬ :
Я решил это, углубившись в это и открыв приложение в студии Android, вошел внутрь действия Flutter реализации и установил точку останова, где он пытается зарегистрировать плагины, когда я тогда запускал приложение, я обнаружил, что ошибка заключалась в том, что FacebookSdk не был инициализирован. Я использую пакет pub.dev/packages/flutter_facebook_login и забыл об инициализации android. Обработка ошибок может быть улучшена для соответствия этим сценариям ios
Ошибка инициализации SDK Facebook