1
votes

configurer le plugin local_auth dans flutter

Mon projet utilise kotlin et quand je veux utiliser le plugin Local_auth, j'obtiens l'erreur ci-dessous:

package io.flutter.plugins.localauthexample;

import android.os.Bundle;
import io.flutter.app.FlutterFragmentActivity;
import io.flutter.plugins.GeneratedPluginRegistrant;

public class EmbeddingV1Activity extends FlutterFragmentActivity {
  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    GeneratedPluginRegistrant.registerWith(this);
  }
}

ce que dit l'exemple de local_auth, c'est:

package io.flutter.plugins.localauthexample;

import io.flutter.embedding.android.FlutterFragmentActivity;
import io.flutter.embedding.engine.FlutterEngine;
import io.flutter.plugins.localauth.LocalAuthPlugin;

public class MainActivity extends FlutterFragmentActivity {
  // TODO(bparrishMines): Remove this once v2 of GeneratedPluginRegistrant rolls to stable. https://github.com/flutter/flutter/issues/42694
  @Override
  public void configureFlutterEngine(FlutterEngine flutterEngine) {
    flutterEngine.getPlugins().add(new LocalAuthPlugin());
  }
}

et

PlatformException(no_fragment_activity, local_auth plugin requires activity to be a FragmentActivity., null)

mais le problème est que je ne connais pas kotlin et que je ne sais pas comment créer mon fichier kotlin. p>

aussi, je suppose (je ne suis pas sûr) que, cela peut être un bug de scintillement dans sa nouvelle version.


1 commentaires

3 Réponses :


2
votes

J'ai corrigé le mien en changeant FlutterActivity en FlutterFragmentActivity dans:

/android/app/src/main/kotlin/../MainActivity.kt


1 commentaires

J'obtiens l'erreur de construction "'configureFlutterEngine' ne remplace rien" ÉCHEC: la construction a échoué avec une exception. * Qu'est-ce qui s'est mal passé: l'exécution de la tâche ': app: compileDebugKotlin' a échoué. > Erreur de compilation. Voir le journal pour plus de détails. Je ne parviens pas à trouver l'emplacement du fichier journal Gradle. Donc, ne peut pas attacher ici.



7
votes

Remplacez le code du fichier MainActivity.kt par ce

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

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


4 commentaires

J'obtiens l'erreur de construction "'configureFlutterEngine' ne remplace rien" ÉCHEC: la construction a échoué avec une exception. * Qu'est-ce qui s'est mal passé: l'exécution de la tâche ': app: compileDebugKotlin' a échoué. > Erreur de compilation. Voir le journal pour plus de détails


Je ne parviens pas à trouver l'emplacement du fichier journal Gradle. Donc, ne peut pas attacher ici.


@Plasmatiger avez-vous trouvé une solution à ce problème?


@KamranBashir désolé pour la réponse tardive. J'ai pu le résoudre mais je ne me souviens pas pour le moment.



3
votes

Ouvrez MainActivity.kt et modifiez comme ci-dessous.

package com.[your.package]

import androidx.annotation.NonNull;
import io.flutter.embedding.android.FlutterFragmentActivity
import io.flutter.embedding.engine.FlutterEngine
import io.flutter.plugins.GeneratedPluginRegistrant

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

Pour plus d'informations, consultez:

https://gist.github.com/akifarhan/f70a2c777651f2ea61a15eb92a5939c1


0 commentaires