Offer 驾到,掘友接招!我正在参与2022春招打卡活动,点击查看活动详情。

新建plugin项目

首先要新建一个Flutter Plugin项目。创建Flutter Plugin项目很简单,直接使用Android Studio创建即可。创建成功后来看看项目目录,其中中lib目录下是flutter代码,android和ios则分别是两个端的plugin代码,example则是用来进行测试的,与plugin无关。

所以我们在lib、android和ios下编写代码即可。

发布及引用

在已有的Android项目中 或者 单独(Android项目再引入) 创建一个Flutter Module。

然后我们需要发布我们开发的Flutter Plugin,然后在Flutter Module中引用。

可以通过flutter packages命令将Flutter Plugin发布到Pub( pub.dev/ )上,然后引用即可。

但是我们因为这个Flutter Plugin也在开发阶段,修改频繁,所以选择另外一种方式,直接通过git引用。将Flutter Plugin项目提交到git服务器上,这样就不需要进行发布,可以直接在Flutter Module的pubspec.yaml中引用,代码如下:

dependencies:
  flutter:
    sdk: flutter
  ...
  flutter_plugin:  //名称,可以自定义,一般就是插件名
    git: https://xxx/xxx.git  //plugin的git地址

然后Pug get就引用进来了,非常简单方便。这时在Flutter Module中就可以使用Flutter Plugin中的flutter 代码了。

但是在Android中还无法使用Flutter Plugin中的android代码,这是因为虽然android项目依赖了Flutter Module,但是还需要依赖Flutter Plugin,需要在android的build.gradle中添加:

dependencies {
    implementation fileTree(dir: "libs", include: ["*.jar"])
    ...
    provided rootProject.findProject(":flutter_boot")
}

这里的“flutter_boot”就是上面在pubspec.yaml中定义的名称,sync后就可以在Android中使用Flutter Plugin的android代码了。