Flutter开发者进阶:接入安卓原生页面
前言
在 Flutter APP
的开发过程中,有时不仅需要使用 Flutter
提供的组件,还需要使用原生的组件。
例如在对接外部 SDK
时,如果自己重新实现 SDK
的逻辑,无疑是本末倒置。
在这种情况下有两种方式可以使用:
-
将
Flutter
项目转为Flutter Module
,打包为aar
,在原生项目中引用,使用原生的方式调用Flutter
,这无疑增加了很多原生开发的工作。 -
将
SDK
引入到Flutter
中,作为一个Flutter Plugin
,建立方法通道(method channel
),调用原生的方法或者页面。
本篇文章将讨论第二种方法。
将一个带有页面的原生安卓 SDK
接入 Flutter
中使用。
话不多说,直接开始。
创建Flutter Plugin
在Flutter项目的根目录执行:
flutter create --template=plugin --platforms=android my_flutter_plugin
这个会创建一个插件工程,里面已经配置好了 Flutter Plugin
的基本结构,包括 build.gradle
文件, AndroidManifest.xml
文件, pubspec.yaml
文件等。
插件工程大致的目录结构如下:
my_flutter_plugin
|- android
| |- src
| | |- main
| | | |- java
| | | | |- com
| | | | | |- example
| | | | | |- my_flutter_plugin
| | | | | | |- MyFlutterPlugin.java
| | | | |- AndroidManifest.xml
| | | |- res
| | | |