android - 为什么 Flutter 的 withNewEngine 无法识别?
问题描述
我正在开发基于表单的应用程序。我们在本地创建表单时非常耗时。我想看看我是否能够在 Flutter 应用程序中创建一个示例表单,然后将其导入我的原生 android 项目。
我创建了一个 Flutter 模块并向其中添加了一些表单视图。我可以通过以下命令构建 aar 文件:
$ flutter build aar
.
然后我按照将 Flutter 模块集成到您的 Android 项目文档中。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
. 所以,我没有得到关于上述evaluate
功能的任何错误。
然后,我在本机项目的 app/build.gradle 文件中添加了以下行。
android {
//...
compileOptions {
sourceCompatibility 1.8
targetCompatibility 1.8
}
}
dependencies {
implementation project(path: ':flutter')
...
}
当我点击一个按钮时,我想启动我的 Flutter 屏幕。所以,这是它的代码:
llTestFlutter.setOnClickListener {
FlutterActivity
.withNewEngine()
.initialRoute("/")
.build(this)
}
FlutterActivity
可以自动识别,我导入了课程。但是,withNewEngine
无法识别。
你怎么看?
$ flutter --version
Flutter 1.22.1 • channel stable • https://github.com/flutter/flutter.git
Framework • revision f30b7f4db9 (6 days ago) • 2020-10-08 10:06:30 -0700
Engine • revision 75bef9f6c8
Tools • Dart 2.10.1
解决方案
OMG,我想我意识到了问题所在。Android 建议了两个用于导入的选项FlutterActivity
:
- 导入 io.flutter.app.FlutterActivity
- 导入 io.flutter.embedding.android.FlutterActivity
我首先选择了第一个选项。这就是为什么没有这种方法的原因。我选择了第二次导入,问题就消失了。
推荐阅读
- c++ - 找不到“boost_atomic”提供的包配置文件
- c - 如何在不杀死进程的情况下使用 LD_PRELOAD
- javascript - Javascript多值对象到简单数组
- angular - 角度延迟加载模块重新加载不起作用
- create-react-app - 如何在 node-sass .scss 文件中使用环境变量?
- java - Gmail API for JAVA - Eclipse 项目 - 阅读新邮件和下载附件
- database - How to restrict files in a database/table to certain users logged into wix website
- docker - 在 fluent-bit docker 容器中获得权限被拒绝
- c++ - `boost::serialization::load_construct_data` 的实现抛出内存访问冲突错误
- django - 在 django 模型中继承具有单独主键的模型