开发 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 示例

相关推荐
LawrenceLan14 小时前
Flutter 零基础入门(九):构造函数、命名构造函数与 this 关键字
开发语言·flutter·dart
一豆羹15 小时前
macOS 环境下 ADB 无线调试连接失败、Protocol Fault 及端口占用的深度排查
flutter
行者9615 小时前
OpenHarmony上Flutter粒子效果组件的深度适配与实践
flutter·交互·harmonyos·鸿蒙
行者9618 小时前
Flutter与OpenHarmony深度集成:数据导出组件的实战优化与性能提升
flutter·harmonyos·鸿蒙
小雨下雨的雨18 小时前
Flutter 框架跨平台鸿蒙开发 —— Row & Column 布局之轴线控制艺术
flutter·华为·交互·harmonyos·鸿蒙系统
小雨下雨的雨18 小时前
Flutter 框架跨平台鸿蒙开发 —— Center 控件之完美居中之道
flutter·ui·华为·harmonyos·鸿蒙
小雨下雨的雨19 小时前
Flutter 框架跨平台鸿蒙开发 —— Icon 控件之图标交互美学
flutter·华为·交互·harmonyos·鸿蒙系统
小雨下雨的雨19 小时前
Flutter 框架跨平台鸿蒙开发 —— Placeholder 控件之布局雏形美学
flutter·ui·华为·harmonyos·鸿蒙系统
行者9620 小时前
OpenHarmony Flutter弹出菜单组件深度实践:从基础到高级的完整指南
flutter·harmonyos·鸿蒙
前端不太难20 小时前
Flutter / RN / iOS,在长期维护下的性能差异本质
flutter·ios