Flutter三方的工具有两种。一种是插件(Plugin),一种是包(Package)。这两种差别在于Plugin不仅包含了Dart代码,还包含了iOS以及安卓的原生代码,比如常用的image_picker。那么Package就仅仅是Dart代码库。
Package及Plugin开发命令
创建Dart包(package)
要创建Dart包,使用参数--template=package
来执行 flutter create
flutter create --template=package 'package_name'
创建插件(Plugin)
要创建插件包,请使用--template=plugin
参数执行flutter create
flutter create --template=plugin 'plugin_name'
指定组织名称
使用--org
选项指定你的组织,并使用反向域名表示法。
Dart包package是不需要组织名称的,—org只有在 —template=plugin时才生效。
flutter create --org com.example --template=plugin 'plugin_name'
指定其他语言
由于Plugin包含iOS和Android代码,而他们分别都支持两种语言,iOS支持Object-C(默认)和Swift,Android支持Java(默认)和Kotlin,所以我们可以使用-i
或 -a
为iOS或Android指定语言。
flutter create --template=plugin -i swift -a kotlin 'plugin_name'
发布Dart包
检查包
flutter packages pub publish --dry-run
发布
flutter packages pub publish
注意:目前发布插件和包都需要Google账号,同时需要翻墙。
当出现下面提示。此时需要你使用浏览器访问提示中的链接,用你的Google账号授权。
有时就算是拥有翻墙也并不能解决问题,因为我们还配置了相关的镜像。Flutter官方就建议过镜像的配置,所以我们在发布插件或者包的时候,就会因为镜像出现下面错误。
那么解决它的问题也很简单,就是指定服务器发布。
指定服务器发布
flutter packages pub publish --server=https://pub.dartlang.org