为什么Flutter的withNewEngine无法识别?

时间:2020-10-15 00:24:49

标签: android android-studio flutter

我正在处理基于表单的应用程序。当我们本地创建表单时,这很耗时。我想看看我是否能够在Flutter应用中创建示例表单,然后将其导入到我的本地android项目中。

我创建了Flutter模块,并向其中添加了一些表单视图。我可以通过以下命令构建aar文件:

$ flutter build aar

然后,我关注了Integrate a Flutter module into your Android project文档。我在本地项目根目录的settings.gradle文件中添加了以下几行:

setBinding(new Binding([gradle:this]))
evaluate(new File(
        settingsDir.parentFile,
        'site_finder_flutter/.android/include_flutter.groovy'
))

我的site_finder_flutter与我的原生Android项目并排。因此,我对上述site_finder_android函数没有任何错误。

然后,我在本机项目的app / build.gradle文件中添加了以下行。

evaluate

我想在单击按钮时启动Flutter屏幕。所以,这是它的代码:

android {
  //...
  compileOptions {
    sourceCompatibility 1.8
    targetCompatibility 1.8
  }
}

dependencies {
    implementation project(path: ':flutter')
...
}

llTestFlutter.setOnClickListener { FlutterActivity .withNewEngine() .initialRoute("/") .build(this) } 可以被自动识别,并且我导入了该类。但是,FlutterActivity无法识别。

enter image description here

你怎么看?

withNewEngine

1 个答案:

答案 0 :(得分:0)

OMG,我想我意识到了问题所在。 Android为导入FlutterActivity提出了两种选择:

  1. 导入io.flutter.app.FlutterActivity
  2. 导入io.flutter.embedding.android.FlutterActivity

我首先选择了第一个选项。这就是为什么这种方法不在这里的原因。我选择了第二次导入,问题就解决了。