Flutter项目:MainActivity.java丢失

时间:2019-12-07 12:27:44

标签: java android android-studio flutter flutter-platform-channel

我试图在Flutter项目中创建一个平台通道,以访问Android特定的Java代码。我正在Android Studio中创建一个新的Flutter Application项目,并遵循以下提到的this教程:

  

1-导航到包含Flutter应用程序的目录,然后选择其中的android文件夹。点击确定。

     

2-在“项目”视图的java文件夹中打开MainActivity.java文件。

但是,该项目仅包含MainActivity.kt而不包含Java:

enter image description here

我尝试通过使用上下文菜单>“ New”>“ Activity”在java文件夹中手动创建一个新的活动,但是它不起作用。

非常感谢您的帮助。

6 个答案:

答案 0 :(得分:17)

如果您在这里是因为您正在按照设置firebase_messaging的步骤进行操作,则可以查看this answer,只需在{旁边创建 var loadData = function () { .. return $http.get(url).then(function (requestResponse) { $scope.pageLoaded = true; ...... } 文件(而不是Java) {1}}文件。在这里:

Application.kt

答案 1 :(得分:6)

flutter create -a java .

试试这个命令。和 '。'最后。它代表当前项目目录。 从项目根文件夹应用此命令。 此命令将尝试使用 java 重新创建 android 项目(这将设置您的 MainActiviy.java)。它不会影响当前设置的清单或任何其他与 Firebase 相关的设置。

答案 2 :(得分:4)

screen

创建MainActivity.java并记住将其放置在此方向上: Android / App / src / MainActivity.java

答案 3 :(得分:1)

您只需使用Java代码创建类文件MainActivity.java并删除Kotlin文件即可。它应该可以工作:

public class MainActivity extends FlutterActivity {

  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    GeneratedPluginRegistrant.registerWith(this);
  }
}

答案 4 :(得分:0)

我尝试了@emran的建议,但是当我运行我的应用程序时,出现以下错误

失败:构建失败,并出现异常。

  • 出了什么问题: 任务':app:compileDebugJavaWithJavac'的执行失败。

      

    编译失败;有关详细信息,请参见编译器错误输出。

  • 尝试: 使用--stacktrace选项运行以获取堆栈跟踪。使用--info或--debug选项运行以获取更多日志输出。使用--scan运行以获取完整的见解。

  • https://help.gradle.org

  • 获得更多帮助

8秒内失败 Gradle任务assembleDebug失败,退出代码为1

答案 5 :(得分:0)

如果您的项目缺少mainactivity文件,则可以运行此命令

flutter create .

以上命令将添加与项目相关的所有丢失文件,包括mainActivity.java

如果要更改平台语言,例如将Java更改为android的kotlin,则可以运行此命令

flutter create -a kotlin .

这将创建一个kotlin目录,并添加丢失的文件,并在末尾添加一个点,表示项目名称将不会更改