Android项目集成Flutter

 

在Android开发中某些组件或者页面需要使用Flutter开发,这篇文章主要介绍已有的Android项目集成Flutter开发环境。

一、Flutter开发环境配置

1、flutter插件配置

Android Studio ——>Preferences——>搜索flutter插件——>install——>重启项目

Android项目集成Flutter_第1张图片

2、下载flutter-sdk

https://flutterchina.club/

我使用的是Mac的系统,下载地址为:

https://storage.googleapis.com/flutter_infra/releases/stable/macos/flutter_macos_2.0.6-stable.zip

下载完成解压缩,放在合适的位置。

3、环境变量配置

open -e ~/.zshrc

文件中输入:

export FLUTTER_ROOT=/Users/xxx/Library/Flutter/flutter
export PUB_HOSTED_URL=https://pub.flutter-io.cn
export FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cn
export PATH=$PATH:$FLUTTER_ROOT/bin

FLUTTER_ROOT:SDK路径,改成你自己设置的地址。

PUB_HOSTED_URL和FLUTTER_STORAGE_BASE_URL根据:https://flutterchina.club/setup-macos/设置。

Android项目集成Flutter_第2张图片

使环境变量生效:

source ~/.zshrc

4、flutter项目介绍

flutter项目分为以下几个,Android中集成Flutter需要新建Flutter Module。

  • Flutter Application: Flutter应用
  • Flutter Module :Flutter与原生混合开发
  • Flutter Plugin:Flutter插件
  • Flutter Package:纯Dart组件

二、Android项目中添加flutter

1、添加module

打开或者新建Android工程,选择New Module:

Android项目集成Flutter_第3张图片

Android项目集成Flutter_第4张图片

Project name:项目名称。

Flutter SDK path:上一步所下载的SDK放置的路径。

Project location:flutter_module所在的父级路径,这个路径需要和Android项目路径在同一等级,千万不能在Android项目内部的目录,否则会关联失败,没法编译。

Android项目集成Flutter_第5张图片

之后会自动生成:

(1)AndroidFlutterDemo/settings.gradle

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

(2)AndroidFlutterDemo/app/build.gradle

implementation project(path: ':flutter')

如果没有则可以手动添加,注意:

  • include_flutter.groovy的路径必须是flutter_module里面的,否则会找不到。
  • implementation project(path: ':flutter')必须是固定的,不能更改为:implementation project(path: ':flutter_module')

2、添加清单文件

将FlutterActivity注册到Android项目的清单文件中,这一步需要手动操作。


3、跳转测试

MainActivity中:

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        findViewById(R.id.btn).setOnClickListener(view -> {
            Intent intent = FlutterActivity.createDefaultIntent(MainActivity.this);
            startActivity(intent);
        });
    }
}

这样就可以跳转到新的flutter页面了。

Demo地址:https://download.csdn.net/download/yoonerloop/18542251

 

 

 

 

你可能感兴趣的:(flutter,flutter,android)