Je veux travailler avec Flutter Workmanager, j'ai fait la configuration citée dans mon .kt comme ceci:
android:name=".App"
et j'ai changé android:name en
package com.example.mybackprocess
import be.tramckrijte.workmanager.WorkmanagerPlugin
import io.flutter.app.FlutterApplication
import io.flutter.plugin.common.PluginRegistry
import io.flutter.plugins.GeneratedPluginRegistrant
class App : FlutterApplication(), PluginRegistry.PluginRegistrantCallback {
override fun onCreate() {
super.onCreate()
WorkmanagerPlugin.setPluginRegistrantCallback(this)
}
override fun registerWith(reg: PluginRegistry?) {
GeneratedPluginRegistrant.registerWith(reg)
}
}
mais cela me donne cette erreur:
Lancement de lib \ main.dart sur G3212 en mode débogage ... e: E: \ mybackprocess \ android \ app \ src \ main \ kotlin \ com \ example \ mybackprocess \ MainActivity.kt: (15, 48): Incompatibilité de type: le type inféré est PluginRegistry? mais FlutterEngine était attendu
ÉCHEC: la construction a échoué avec une exception. * Ce qui n'a pas fonctionné: l'exécution de la tâche ': app: compileDebugKotlin' a échoué. Erreur de compilation. Voir le journal pour plus de détails
Essayez: Exécutez avec l'option --stacktrace pour obtenir la trace de la pile. Exécutez avec l'option --info ou --debug pour obtenir plus de sortie de journal. Exécutez avec --scan pour obtenir des informations complètes. * Obtenez plus d'aide sur https://help.gradle.org
BUILD FAILED in 55s Gradle task assembleDebug failed with exit code 1 Exited (sigterm)
Quelqu'un peut-il m'aider s'il vous plaît?
4 Réponses :
vous pouvez résoudre le problème en remplaçant la méthode suivante dans votre application.kt
override fun registerWith(registry: PluginRegistry?) {
registry?.registrarFor("com.iotecksolutions.background_location_fetch.BackgroundLocationFetchPlugin");
}
Remarque: remplacez com.iotecksolutions.background_location_fetch.BackgroundLocationFetchPlugin par le nom de votre plugin.
Remplacez MainActivity.kt par:
import android.os.Bundle
import io.flutter.app.FlutterActivity
import io.flutter.plugins.GeneratedPluginRegistrant
class MainActivity : FlutterActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
GeneratedPluginRegistrant.registerWith(this)
}
}
J'ai utilisé le code suivant pour corriger l'erreur GeneratedPluginRegistrant.registerWith(FlutterEngine(applicationContext))
appliquez cette balise avant de fermer la balise dans AndroidManifest comme ci-dessous et vous êtes prêt à partir
...
<meta-data
android:name="flutterEmbedding"
android:value="2" />
</application>
des réponses s'il vous plaît? je suis toujours confronté à ce problème