Flutter Project: MainActivity.java is missing

Issue

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);
  }
}

Answered By – Emran

Answer Checked By – Jay B. (FlutterFixes Admin)

Leave a Reply

Your email address will not be published.