前言
flutter是一个跨平台UI框架,但是在跨平台上需要与Android和iOS进行各种交互, 比如短信验证就是其中, 就昂封装Android和iOS SDK为flutter所用
创建
使用flutter命令行工具快速创建 plugin 模板:
1 | flutter create --template=plugin flutter_mod_sms_plugin |
命令行启动模拟器:
1 | avdmanager.bat -h |
失败:
1 | Android Emulator Error Message: “PANIC: Missing emulator engine program for 'x86' CPUS.” |
解决方案:
1 | //启动cmd 1. mklink |
分析结构
新创建插件项目:
- android
- ios
- lib
- example
- pubspec.yaml
可以看出比正常的项目多了个example, 这个可以当做测试用.进入example可以看到,其实这也是个flutter项目,注意几点:
- 这是一个可以运行的项目 ==> flutter run
- 调用方式如下:
1 | // 首先是异步初始化 |
插件中的类和方法(路径 = > ../lib/flutter_mod_sms.dart):
1 | import 'dart:async'; |
MethodChannel:
- 异步方法回调
- 二进制传输 通过MethodCodec
- 必须能有独一的方法name而且不能为空
平台对应的代码实现:
- Android
1 | /** FlutterModSmsPlugin */ |
- iOS
1 |
|
改造
过程已经清楚了, 进行改造.
Android端配置:点击
Android Studio打开android项目 配置 build.gradle
1 | group 'com.example.fluttermodsms' |
有些可能不用需要自行去掉