Android--自己写Flutter插件

本文详细介绍了如何创建一个Flutter插件,特别是在Android端的实现。内容包括MethodChannel和EventChannel的使用,以及如何处理复杂的业务场景。作者强调了在Android工程中配置Flutter SDK的必要性,并给出了实现MethodChannel和EventChannel的示例代码。此外,还提到了ActivityResultListener和ActivityAware的使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

使用过Flutter开发的攻城狮都知道,Flutter现有的插件虽然已很丰富,但是某些场景依然无法实现,比如我们自身应用的加解密,特定业务场景的处理,此时需要插件来支撑,攻城狮们可以直接在flutter工程的android工程/ios工程目录下直接新增相应的逻辑,并通过MethodChannel 和 EventChannel来进行交互
复杂的场景,比如这块插件内容不止于本项目工程使用,另外工程也会使用,这个时候我们可以抽离出来,单独写这样的插件,然后供项目去使用,就不需要来回的copy代码了
接下来我会把自己创建插件的步骤罗列出来,以及MethodChannel和EventChannel在插件中的使用分发,大家有任何问题可以评论,一起学习成长,由于本博主是Android攻城狮,所以我主要讲解Android端
进入正题:
1、首先我们要New 一个 Flutter Plugin插件工程
创建FlutterPlugin
2、该工程默认生成了一个dart入口程序,android工程下已有一个Plugin
3、此时打开该插件的Android工程,会发现找不到io.flutter.plugin.*,也即找不到flutter.jar包,此时需要针对该问题做以下检查以及配置
1)检查local.properties是否已经添加了flutter sdk的位置路径
2)
在build.gradle里增加flutter.jar的配置
def localProperties = new Properties()
def localPropertiesFile = rootProject.file(‘local.properties’)
if (localPropertiesFile.exists()) {
localPropertiesFile.withReader(‘UTF-8’) {
reader -> localProperties.load(reader)
}
}
//获取flutter的sdk路径
def flutterRoot = localProperties.getProperty(‘flutter.sdk’)
if (flutterRoot == null) {
throw new GradleException(“Flutter SDK not found. Define location with flutter.sdk in the local.properties file.”)
}
dependencies {
implementation “org.jetbrains.kotlin:kotlin-stdlib-jdk7: k o t l i n v e r s i o n " i m p l e m e n t a t i

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值