web-dev-qa-db-fra.com

Flutter: essayé d'enregistrer automatiquement les plugins avec FlutterEngine mais n'a pas pu trouver et invoquer le générateurPluginregistrant

Je reçois ces erreurs lors de l'exécution de cette commande

flutter run --flavor development -t lib/config/main_development.Dart --verbose-system-logs

Les erreurs:

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)

sortie du médecin battant:

➜ 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!

Ceci est mon application/build.Gradle fichier

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'
}

J'essaie d'utiliser le package flutter_secure_storage, en raison de laquelle je dois définir la MINSDKVersion à 18 et utilisez des règles de PROGUARD pour éviter que Mulidex (puisque cela nécessite MINSDKVersion 21)

Solutions que j'ai essayées:

  • En cours flutter clean, désinstallation de l'application, Effacement ~/.pub-cache
  • Déménager à Master Channel de Stable

[~ # ~] Edit [~ # ~ ~]:

J'ai résolu cela en plongeant profondément dans cela et j'ai ouvert l'application dans Android Studio, est allé à l'intérieur de l'activité de la battage de la mise en œuvre et définit un point d'arrêt où il essaie d'enregistrer les plugins, lorsque j'ai exécuté l'application alors, je découvert que l'erreur était la faune FacebookSDK n'était pas initialisée. J'utilise le package PUB.Dev/Packages/flutter_Facebook_Login et j'ai oublié le Android Initialisation. Le traitement des erreurs peut être amélioré pour accueillir ces scénarios

Facebook SDK Initialization error

7
Vedant Rathore

Aujourd'hui, je faisais face au même problème. Je pense que cela est lié à ceci: https://flutter.dev/docs/development/packages-and-plugins/plugin-api-migration

(Ce n'est peut-être qu'une solution temporaire) J'ai écrit le titulaire de mon inscrit à ma maigre.tk - si votre corps de classe est vide, cela pourrait aider

package your.package.name

import androidx.annotation.NonNull;
import io.flutter.embedding.Android.FlutterActivity
import io.flutter.embedding.engine.FlutterEngine
import io.flutter.plugins.GeneratedPluginRegistrant

class MainActivity: FlutterActivity() {
    override fun configureFlutterEngine(@NonNull flutterEngine: FlutterEngine) {
        GeneratedPluginRegistrant.registerWith(flutterEngine);
    }
}
2
Nonstapp