Flutter插件两种:
package(纯dart组件)和 Plugin(包含iOS和Android的API)
image.png

上传包到pub.dev上,需要有谷歌账号

package开发

1. 通过Android Studio 创建Package

2. package改名字(三处地方)

image.png
image.png
image.png

3. 编写dart源代码(组件实现代码)

4. 添加资源文件 (放在lib目录下:工程目录/lib/images/气泡.png)

image.png
image.png

5. 发布测试

命令行进入工程目录

  1. flutter package pub publish --dry-run

6. 发布

第一次发布,需要点击命令行给定的链接,登录谷歌账号 ,进行授权(需要梯子)

  1. flutter package pub publish

当报错
image.png

  1. flutter package pub publish --server=https://pub.dartlang.org

7. 使用包里的资源

  • 导入包中的资源

image.png

  • 使用包中的资源

image.png

8. 添加example

image.png

9 拆分文件part

在主文件里:
image.png
在子文件里:
image.png

10. 在本地测试package

  • 新建Flutter project工程,在pubspec.yaml导入本地package,path指定相对路径

image.png

  • 使用时,导入头文件

image.png

Plugin开发(包含iOS和Android的API)

1. 创建Plugin

image.png

2. 类名修改

image.png
iOS中
image.png
Android中相应使用的类也需要修改

3. 发布测试和发布

与package的发布测试和发布方法一样

4. 在创建时修改包名称(之后的文件名将是下划线连接字符,类名将是驼峰命名)

image.png

插件开发的命令

创建Dart包(package)

要创建Dart包,使用参数--template=package 来执行 flutter create

  1. flutter create --template=package 'package_name'

创建插件(Plugin)

要创建插件包,请使用--template=plugin参数执行flutter create

  1. flutter create --template=plugin 'plugin_name'

指定组织名称

使用--org选项指定你的组织,并使用反向域名表示法。

Dart包package是不需要组织名称的,—org只有在 —template=plugin时才生效。

  1. flutter create --org com.example --template=plugin 'plugin_name'

指定其他语言

由于Plugin包含iOS和Android代码,而他们分别都支持两种语言,iOS支持Object-C(默认)和Swift,Android支持Java(默认)和Kotlin,所以我们可以使用-i-a 为iOS或Android指定语言。

  1. flutter create --template=plugin -i swift -a kotlin 'plugin_name'