前言
本文一个比 Flutter中文网的开发Packages和插件 和 《Flutter实战》的包与插件 都更简单的Plugin插件教学。
让你在毫无思想准备下3分钟就不知不觉不仅学会还理解了Plugin的开发和发布。
题外话:一个完整的Plugin插件本质上最后其实就是一个Package。
一、Plugin插件的创建
终端执行以下命令,进行Plugin插件的创建
flutter create --org com.dvlproad --template=plugin cj_monitor_flutter
执行完此条命令后,其实你的cj_monitor_flutter
插件就已经开发完成,可以进行发布了。
1、理解命令所做的事情
该命令,会生成以下文件。其执行的效果为:
1、创建了一个package库,带有默认功能;
2、并创建一个example工程,来在工程中测试本地的package库;
2、使用该插件
2.1、本地工程使用可立即使用
此时就可以在你的本地其他工程中使用这个插件了。使用的方法和该命令中example对该插件的使用一致,即使用本地路径来引入库。
即:
dependencies:
flutter:
sdk: flutter
CJMonitorFlutter:
path: ../
2.2、非本地工程需发布后使用
package的发布,同前一章一样。这里只简单描述。即:
1、在发布之前,检查pubspec.yaml、README.md以及CHANGELOG.md文件,以确保其内容的完整性和正确性。
2、然后, 运行 dry-run 命令以查看是否都准备OK了:
$ flutter packages pub publish --dry-run
3、最后, 运行发布命令:
$ flutter packages pub publish
二、Plugin插件的新功能开发
好了,下面我们来说重点。为我们刚才创建的Plugin插件开发新功能。
1、添加提供给【外部】的新功能dart方法。(这部很简单)
2、去android和ios中实现新功能呢方法的内部与原生交互代码(这部是功能代码的核心)。
至此,您的新功能就发布完毕,可以在其他本地工程中使用啦。
问:我的新功能已经用原生库实现了。怎么继续用库??
附:如果是私有库呢?
答:同理。和你正常使用私有库一样。和这里相比只是多了在XXXX.xcworkspace
中加入私有库的source而已。