why GeneratedPluginRegistrant.registerWith(this) gives error in Flutter MainActivity.kt?

4,115

Try adding this in you MainActivity.kt:

package com.example.flutterapp
import android.os.Bundle
import io.flutter.plugins.GeneratedPluginRegistrant
import io.flutter.embedding.engine.FlutterEngine
import io.flutter.embedding.android.FlutterActivity

class MainActivity: FlutterActivity() {


    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        GeneratedPluginRegistrant.registerWith(FlutterEngine(this))
    }
}

Hope it helps bro.

Share:
4,115
Shubham Sawant
Author by

Shubham Sawant

Updated on December 22, 2022

Comments

  • Shubham Sawant
    Shubham Sawant over 1 year

    GeneratedPluginRegistrant.java

    package io.flutter.plugins;
    
    import androidx.annotation.Keep;
    import androidx.annotation.NonNull;
    
    import io.flutter.embedding.engine.FlutterEngine;
    import io.flutter.embedding.engine.plugins.shim.ShimPluginRegistry;
    
    /**
     * Generated file. Do not edit.
     * This file is generated by the Flutter tool based on the
     * plugins that support the Android platform.
     */
    @Keep
    public final class GeneratedPluginRegistrant {
      public static void registerWith(@NonNull FlutterEngine flutterEngine) {
        ShimPluginRegistry shimPluginRegistry = new ShimPluginRegistry(flutterEngine);
          net.goderbauer.flutter.contactpicker.ContactPickerPlugin.registerWith(shimPluginRegistry.registrarFor("net.goderbauer.flutter.contactpicker.ContactPickerPlugin"));
          com.pichillilorenzo.flutter_appavailability.AppAvailability.registerWith(shimPluginRegistry.registrarFor("com.pichillilorenzo.flutter_appavailability.AppAvailability"));
          io.flutter.plugins.flutter_plugin_android_lifecycle.FlutterAndroidLifecyclePlugin.registerWith(shimPluginRegistry.registrarFor("io.flutter.plugins.flutter_plugin_android_lifecycle.FlutterAndroidLifecyclePlugin"));
          flutter.moum.hardware_buttons.HardwareButtonsPlugin.registerWith(shimPluginRegistry.registrarFor("flutter.moum.hardware_buttons.HardwareButtonsPlugin"));
        flutterEngine.getPlugins().add(new vn.hunghd.flutter.plugins.imagecropper.ImageCropperPlugin());
        flutterEngine.getPlugins().add(new io.flutter.plugins.imagepicker.ImagePickerPlugin());
        flutterEngine.getPlugins().add(new io.flutter.plugins.sharedpreferences.SharedPreferencesPlugin());
          com.lykhonis.simpleimagecrop.SimpleImageCropPlugin.registerWith(shimPluginRegistry.registrarFor("com.lykhonis.simpleimagecrop.SimpleImageCropPlugin"));
      }
    }
    
    

    MainActivity.kt

    package com.example.flutterapp
    
    
    import android.os.Bundle
    import io.flutter.app.FlutterActivity
    import io.flutter.plugin.common.MethodChannel
    import io.flutter.plugins.GeneratedPluginRegistrant
    
    class MainActivity : FlutterActivity() {
        override fun onCreate(savedInstanceState: Bundle?) {
            super.onCreate(savedInstanceState)
            GeneratedPluginRegistrant.registerWith(this)
        }
    }
    

    I am getting error in line

    GeneratedPluginRegistrant.registerWith(this)
                                           ^
    

    I tried replacing it with flutterEngine too but it didn't work. I am actually creating an app that could run in background and for that I am using sharedPreferences. My code runs in a normal seperate project but it gives error in this one please help with this Thank you in advance!

  • Sambo
    Sambo almost 4 years
    I believe the OP was using Kotlin. What's the equivalent line?