Flutter Package 插件开发

本文详细介绍了Flutter插件的开发过程,包括如何创建Dart packages、Flutter插件,以及Android和iOS的平台交互。通过MethodChannel实现Flutter与原生端的通信,并提供了一个日志输出插件的例子。此外,还讲述了如何发布Flutter插件以及通过命令行创建插件的步骤。
摘要由CSDN通过智能技术生成

什么是插件

在flutter中,一个插件叫做一个package,使用packages的目的就是为了达到模块化,可以创建出可被复用和共享的代码,创建出来的package可以在pubspec.yaml中直接依赖。

Package介绍

pubspec.yaml文件:用于定义package名称、版本号、作者等其他信息的元数据文件。
lib目录:包含共享代码的lib目录,其中至少包含一个<package-name>.dart文件。<package-name>.dart这个文件必须在,因为这是方便使用的人快速import这个package来使用它,可以把它理解成一种必须要遵守的规则。

package的分类

  • Dart packages(纯Dart库):这是一个只有dart代码的package,里面包含了flutter的特定功能,所以它依赖于flutter的framework,也决定了它只能用在flutter上。
  • plugin packages(原生插件):Dart编写,按需使用Java或者Kotlin、Objective-C或Swift分别在Android/ios平台实现的package。

开发Dart的packages

Flutter创建插件

使用android studio新建工程,New -> New Flutter Project -> Flutter plugin,插件名称不支持大写开头。
在这里插入图片描述
几个主要的目录分别为android,example,ioslib这四个目录:

  • android目录是一个完整的android工程,用来开发Android端的插件功能
  • example目录是一个完整的Flutter工程,可运行安装,用来测试Android或者ios端的插件功能
  • ios目录是一个完整的ios工程,用来开发ios端的插件功能
  • lib目录中的文件负责和Android或者ios端的交互,dart文件

注意:在打开Android对应的java或者kotlin类时文件会报错报红色警告,这是正常的。只需要点击编辑框右上角open for Editing in Android Studio 即可打开android工程编辑。

插件指定平台

flutter:
  plugin:
    platforms:
      //支持的平台
      android:
        package: com.example.flutter_log_plugin
        pluginClass: FlutterLogPlugin
      ios:
        pluginClass: FlutterLogPlugin

当为更多平台添加插件实现时,应相应地更新platforms map,例如添加macOS和web的hello插件的map:

flutter:
  plugin:
    platforms:
      android:
        package: com.example.flutter_log_plugin
        pluginClass: FlutterLogPlugin
      ios:
        pluginClass: 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值