Android Flutter 插件开发问题集锦

环境配置问题

"Android liceness not accepted?"

解决方案: 使用命令"flutter doctor -android -licenses"


flutter_licenses.png

"Flutter plugin not installed:this........"以及"Dart plugin not installed:this......"

flutter_plugin.png

解决方案:

1.在android studio中安装flutter插件具体如图:
微信截图_20201230144004.png
微信截图_20201230144036.png
2.如果已经安装还是出现错误,进行如下方法:

①首先确定flutter版本,命令行使用"flutter --version"
1.26版本插件修复了旧版安装了插件还会提示错误的问题,这里可以尝试下安装1.26以上的版本.


微信截图_20201230144419.png

②如果还是报错,确定android sutdio,版本 点击help->about查看as版本

微信截图_20201230144504.png

注意下图圈住的版本201.8743记住此版本号.
微信截图_20201230144521.png

③找到android studio下的插件目录查询版本52.1.1
微信截图_20201230151053.png

④查询flutter官网版本对应的版本号
前往https://plugins.jetbrains.com/plugin/9212-flutter/versions查询版本号,搜索flutter即可进入插件
选择versions,选择使用对应的编译器比如android studio

微信图片_20201230150713.png

这里可以看到52.1.1对应版本201.7223-201.*,上面我们在②步骤中查询到了201.8743版本也就是说android studio支持此插件版本合适可以使用,如果不支持替换为匹配版本即可。


微信截图_20201230151227.png

插件开发问题

如何在plugin中使用activity回调?

1.找到插件桥接plugin类,实现ActivityAware接口
微信截图_20201230151746.png
2.找到实现的方法onAttachedToActivity(ActivityPluginBinding binding)函数
微信截图_20201230151809.png
3.使用binding.addActivityResultListener方法添加onActivityResult回调
微信截图_20201230151828.png

如果在plugin中获取activity对象(不是Context)?

微信截图_20201230152119.png

Flutter plugin 中集成现有的android module?

将module中包含的资源以及类文件按照结果放入对应文件下即可如下图:


微信截图_20201230152241.png

类型转换问题"_internallinkedhashmap is not a subtype of type Map"

如错误提示意思为使用的类型不能强制转换
如图,将Map替换为Map,然后使用new Map.from(map); 转换为string类型的map即可。


微信截图_20201230152448.png

你可能感兴趣的:(Android Flutter 插件开发问题集锦)