新建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代码了。