本文以 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
- 在该文件顶部加入代码:
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')
... ...
- 在该文件加入依赖:
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
- 参考示例