向现有应用添加 Flutter
Add-to-app
同时运行多个 Flutter 实例或在部分视图中运行实例可能会导致未定义行为。 在后台模式下使用 Flutter 尚处于开发阶段。 不支持将一个 Flutter 库打包到另一个可分享的库内,或者将多个 Flutter 库打包到同一个应用中。
支持特性
可通过在 Gradle 脚本中添加一个 Flutter SDK hook 来自动构建和导入 Flutter 模块。 请将您的 Flutter 模块构建至通用 Android Archive (AAR) 文件中,从而实现与构建系统的集成并提高与 Jetifier 和 AndroidX 的兼容性。 请通过 FlutterEngine API 启用并保留您的 Flutter 环境,以便让 Flutter 运行环境模块与 FlutterActivity 或 FlutterFragment 显示模块托偶。 Android Studio 里 Android/Flutter 协同编辑以及模块创建/导入向导。 支持 Java 和 Kotlin 宿主应用。 Flutter 模块可通过 Flutter 插件与平台进行互动。如需取得最佳的 add-to-app 效果,请将 Android 插件迁移至 V2 插件 API。在 Flutter 1.12 中,由 Flutter 团队或 FlutterFire 维护的大部分插件已完成迁移。 支持通过 IDE 中的 flutter attach 或命令行连接到包含 Flutter 的应用,以便调试 Flutter 或启用有状态的热重启。
Android Archive (AAR) 文件
https://developer.android.google.cn/studio/projects/android-library
FlutterEngine
https://api.flutter.dev/javadoc/io/flutter/embedding/engine/FlutterEngine.html
FlutterActivity
https://api.flutter.dev/javadoc/io/flutter/embedding/android/FlutterActivity.html
FlutterFragment https://api.flutter.dev/javadoc/io/flutter/embedding/android/FlutterFragment.html Flutter 插件 https://pub.dev/flutter/packages 迁移至 V2 插件 API
https://flutter.dev/docs/development/packages-and-plugins/plugin-api-migration
Flutter 团队
https://github.com/flutter/plugins/tree/master/packages
FlutterFire
https://github.com/FirebaseExtended/flutterfire/tree/master/packages
可通过 CocoaPods 在 Xcode 构建阶段内添加一个 Flutter SDK hook 来自动构建和导入 Flutter 模块。 请将您的 Flutter 模块构建至一个通用 iOS 框架中,从而实现与构建系统的集成。 请通过 FlutterEngine API 启用并保留您的 Flutter 环境,以便单独添加一个 FlutterViewController。 支持 Objective-C 和 Swift 宿主应用。 Flutter 模块可通过 Flutter 插件与平台进行互动。 支持通过 IDE 中的 flutter attach 或命令行连接到包含 Flutter 的应用,以便调试 Flutter 或启用有状态的热重启。
iOS 框架
https://developer.apple.com/library/archive/documentation/MacOSX/Conceptual/BPFrameworks/Concepts/WhatAreFrameworks.html
FlutterEngine
https://api.flutter.dev/objcdoc/Classes/FlutterEngine.html
FlutterViewController
https://api.flutter.dev/objcdoc/Classes/FlutterViewController.html
Flutter 插件
https://pub.dev/flutter/packages
add-to-app 示例 repo
https://github.com/flutter/samples/tree/master/experimental/add_to_app
现在开始
如果您想开始向现有应用添加 Flutter,请参阅以下项目集成指南:
Android
https://flutter.dev/docs/development/add-to-app/android/project-setup
iOS
https://flutter.dev/docs/development/add-to-app/ios/project-setup
API 使用方法
当您把 Flutter 集成到项目中后,请参阅以下开发者文档:
Android
https://flutter.dev/docs/development/add-to-app/android/add-flutter-screen
iOS
https://flutter.dev/docs/development/add-to-app/ios/add-flutter-screen
Flutter 开发者社区中文资源: https://flutter.cn
想了解更多 Flutter 内容?
在公众号首页发送关键词 "Flutter",获取相关历史技术文章;
还有更多疑惑?欢迎点击菜单 “联系我们” 反馈您在开发过程中遇到的问题。
推荐阅读