环境配置问题
"Android liceness not accepted?"
解决方案: 使用命令"flutter doctor -android -licenses"
![](https://img.haomeiwen.com/i18372298/d3ebd83760ceb043.png)
"Flutter plugin not installed:this........"以及"Dart plugin not installed:this......"
![](https://img.haomeiwen.com/i18372298/2887f2106165ecad.png)
解决方案:
1.在android studio中安装flutter插件具体如图:
![](https://img.haomeiwen.com/i18372298/015d55ff4dae7706.png)
![](https://img.haomeiwen.com/i18372298/abbd04c156e95f39.png)
2.如果已经安装还是出现错误,进行如下方法:
①首先确定flutter版本,命令行使用"flutter --version"
1.26版本插件修复了旧版安装了插件还会提示错误的问题,这里可以尝试下安装1.26以上的版本.
![](https://img.haomeiwen.com/i18372298/cbb123d1aaab57e5.png)
②如果还是报错,确定android sutdio,版本 点击help->about查看as版本
![](https://img.haomeiwen.com/i18372298/cdf4545ed7b48485.png)
注意下图圈住的版本201.8743记住此版本号.
![](https://img.haomeiwen.com/i18372298/c6b3ba3d7b708fd5.png)
③找到android studio下的插件目录查询版本52.1.1
![](https://img.haomeiwen.com/i18372298/dabf0e366f2890ba.png)
④查询flutter官网版本对应的版本号
前往https://plugins.jetbrains.com/plugin/9212-flutter/versions查询版本号,搜索flutter即可进入插件
选择versions,选择使用对应的编译器比如android studio
![](https://img.haomeiwen.com/i18372298/c4c53a08e8b82fdc.png)
这里可以看到52.1.1对应版本201.7223-201.*,上面我们在②步骤中查询到了201.8743版本也就是说android studio支持此插件版本合适可以使用,如果不支持替换为匹配版本即可。
![](https://img.haomeiwen.com/i18372298/806bb61cfef4aaec.png)
插件开发问题
如何在plugin中使用activity回调?
1.找到插件桥接plugin类,实现ActivityAware接口
![](https://img.haomeiwen.com/i18372298/a612bc7e66f4181b.png)
2.找到实现的方法onAttachedToActivity(ActivityPluginBinding binding)函数
![](https://img.haomeiwen.com/i18372298/f6fb416506aeed12.png)
3.使用binding.addActivityResultListener方法添加onActivityResult回调
![](https://img.haomeiwen.com/i18372298/19064ef311307354.png)
如果在plugin中获取activity对象(不是Context)?
![](https://img.haomeiwen.com/i18372298/f4420ac165f1c31e.png)
Flutter plugin 中集成现有的android module?
将module中包含的资源以及类文件按照结果放入对应文件下即可如下图:
![](https://img.haomeiwen.com/i18372298/8c9fb433a1ba5522.png)
类型转换问题"_internallinkedhashmap<dynamic,dynamic> is not a subtype of type Map<String,String>"
如错误提示意思为使用的类型不能强制转换
如图,将Map<String,String>替换为Map<dynamic, dynamic>,然后使用new Map<String,String>.from(map); 转换为string类型的map即可。
![](https://img.haomeiwen.com/i18372298/9a269207aecb773e.png)
网友评论