javaandroidandroid-studioflutterflutter-platform-channel

Flutter Project: MainActivity.java is missing


I am trying to create a Platform Channel in a Flutter project to access Android-specific java code. I am creating a new Flutter Application project in Android Studio and following this tutorial which mentions:

1- Navigate to the directory holding your Flutter app, and select the android folder inside it. Click OK.

2- Open the MainActivity.java file located in the java folder in the Project view.

However, the project only contains MainActivity.kt and not Java:

enter image description here

I tried creating a new activity inside the java folder manually by using context menu>New>Activity but it doesn't work.


EDIT:

The best solution for this (if you can create a new project) is to uncheck "Include Kotlin support for Android code" when you are setting up the project. This automatically creates MainActivity.java. The same goes for Objective-C and Swift. If you want to use Objective-C, uncheck "Include Swift support for iOS code"

enter image description here


Solution

  • You can simply create the class file MainActivity.java with the Java code and delete the Kotlin one. It should work:

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