开发 Flutter Plugin 之 初始配置

本文以 Android 为例,具体可以参考官网

创建命令

ini 复制代码
flutter create \
  --org com.get.aaid \
  --project-name get_aaid_plugin \
  --platforms=android,ios \
  --android-language=kotlin \
  --ios-language=swift \
  --template=plugin \
  get_aaid_plugin

使用 example 的 gradle 环境,编写和编译插件代码

配置 example/android/settings.gradle

  • 在该文件底部加入代码:
php 复制代码
include ':get_aaid_plugin'
project(':get_aaid_plugin').projectDir = file('../../android')

配置 android/build.gradle

  1. 在该文件顶部加入代码:
ini 复制代码
group = "com.get.aaid.get_aaid_plugin"
version = "1.0-SNAPSHOT"

def localProperties = new Properties()
def localPropertiesFile = rootProject.file('local.properties')
if (localPropertiesFile.exists()) {
    localPropertiesFile.withReader('UTF-8') { reader ->
        localProperties.load(reader)
    }
}
def flutterRoot = localProperties.getProperty('flutter.sdk')

... ...
  1. 在该文件加入依赖:
bash 复制代码
dependencies {
    compileOnly files("$flutterRoot/bin/cache/artifacts/engine/android-arm/flutter.jar")
    compileOnly 'androidx.annotation:annotation:1.8.0'
    
... ...

如果还是报红,执行 (fvm) flutter precache 即可

Flutter 工程引入 pigeons 即可开始编写插件具体代码

  • 常用命令
arduino 复制代码
dart run pigeon --input pigeons/messages.dart
  • 参考示例

pub 地址

github 示例

相关推荐
君赏3 小时前
FlutterPatch:把 Shorebird 热更新的控制面搬回自己服务器
flutter
用户2181697049306 小时前
Flutter tootip 轻量级提示
flutter
用户2181697049306 小时前
Flutter 拖拽 Draggable DragTarget
flutter
yume_sibai7 小时前
05-Flutter实战项目
前端·flutter
传奇开心果编程8 小时前
【Flutter入门练中学】第1课:从零开始
学习·flutter·ui
用户2181697049301 天前
Flutter ClipPath
flutter
用户2181697049301 天前
Flutter 折叠组件 ExpansionTile ExpansionPanelList
flutter
不羁的木木2 天前
给鸿蒙 App 增加用系统应用打开文件的能力 —— open_app_file 的鸿蒙使用指南
flutter·harmonyos
HouWan2 天前
Flutter: MediaQuery.of(context) 为什么可能拖慢页面?
android·flutter·ios