https://github.com/xuexiangjys/flutter_android_interactive
演示如何在android现有项目中集成flutter项目,进行混合开发
https://github.com/xuexiangjys/flutter_android_interactive
Last synced: 8 months ago
JSON representation
演示如何在android现有项目中集成flutter项目,进行混合开发
- Host: GitHub
- URL: https://github.com/xuexiangjys/flutter_android_interactive
- Owner: xuexiangjys
- Created: 2019-03-27T15:28:54.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2023-12-15T20:32:00.000Z (almost 2 years ago)
- Last Synced: 2025-01-11T00:12:46.541Z (9 months ago)
- Language: Dart
- Size: 131 KB
- Stars: 2
- Watchers: 3
- Forks: 1
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# flutter_android_interactive
演示如何在android现有项目中集成flutter项目,进行混合开发。[google官方教程](https://github.com/flutter/flutter/wiki/Add-Flutter-to-existing-apps)
## 集成方法
### 创建Flutter Module
```
flutter create -t module [flutter_module]
```
模块创建好后使用Android Studio导入执行gradle任务,出现`.android`目录。### 配置原生Android项目
1.在项目的`settings.gradle`中增加如下配置
```
setBinding(new Binding([gradle: this]))
evaluate(new File(
settingsDir.parentFile,
"flutter_module/.android/include_flutter.groovy"
))
```
注意,这里`flutter_module`为Flutter模块所在的文件名。2.在项目的`build.gradle`的dependencies中加入`flutter`依赖
```
dependencies {
...
implementation project(':flutter')
}
```3.继承`FlutterActivity`, 创建Flutter页面的容器Activity。
```
public class FlutterPageActivity extends FlutterActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
FlutterMain.startInitialization(this);
super.onCreate(savedInstanceState);
GeneratedPluginRegistrant.registerWith(this);
getFlutterView().setInitialRoute("flutterView");registerPlugins(getFlutterView());
}
/**
* 注册插件
*
* @param flutterView
*/
private void registerPlugins(FlutterView flutterView) {}
}
```4.调用Flutter页面。
```
public void toFlutter(View view) {
Intent intent = new Intent(MainActivity.this, FlutterPageActivity.class);
startActivity(intent);
}
```