混合开发
Flutter 集成步骤
- 创建 Flutter module
1 | flutter create -t module flutter_module |
- 添加 Flutter module 依赖
- 在 Java/Object-c 中调用 Flutter module
Android
引入 Flutter module
- 打开 settings.gradle(Project Settings)
1 | 自动会关联到一个Flutter的模块 |
- 打开 build.gradle(Module:app)
1 | minSdkVersion 16才支持Fluuter module |
1 | android最下面加入以下代码,进行编译 |
1 | dependencies { |
- 问题:如果出现“程序包 android.support.annotation 不存在”的错误,需要使用如下的命令来创建 Flutter 模块,因为最新版本的 Android 默认使用 androidx 来管理包。
1 | flutter create --androidx -t module flutter_library |
Java 调用 Flutter module
- Flutter.createView
1 | public class MainActivity extends AppCompatActivity { |
- FlutterFragment
1 | public class MainActivity extends AppCompatActivity { |
Flutter 接受参数
1 | import 'dart:ui'; |
iOS
iOS 集成 Flutter
- 在 ios 项目下 pod init
1 | Podfile |
pod install
FlutterHybridiOS.xcworkspace 打开 iOS 项目
【TAGETS】→【Build Setttings】→【Build Options】→【Enable Bitcode】来禁用 Bitcode
【Enable Phases】,然后点击左上角的加号新建一个“New Run Script Phase”,添加如下脚本代码。
1 | "$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh" build |
- build 项目成功即完成
Object-c 调用 Flutter module
1 | ViewController.m |
Flutter 和 H5 混合开发
1 | flutter_webview_plugin: ^0.3.11 |