环境配置问题
"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.png2.如果已经安装还是出现错误,进行如下方法:
①首先确定flutter版本,命令行使用"flutter --version"
1.26版本插件修复了旧版安装了插件还会提示错误的问题,这里可以尝试下安装1.26以上的版本.
微信截图_20201230144419.png
②如果还是报错,确定android sutdio,版本 点击help->about查看as版本
注意下图圈住的版本201.8743记住此版本号.
微信截图_20201230144521.png
③找到android studio下的插件目录查询版本52.1.1
微信截图_20201230151053.png
④查询flutter官网版本对应的版本号
前往https://plugins.jetbrains.com/plugin/9212-flutter/versions查询版本号,搜索flutter即可进入插件
选择versions,选择使用对应的编译器比如android studio
这里可以看到52.1.1对应版本201.7223-201.*,上面我们在②步骤中查询到了201.8743版本也就是说android studio支持此插件版本合适可以使用,如果不支持替换为匹配版本即可。
微信截图_20201230151227.png
插件开发问题
如何在plugin中使用activity回调?
1.找到插件桥接plugin类,实现ActivityAware接口
微信截图_20201230151746.png2.找到实现的方法onAttachedToActivity(ActivityPluginBinding binding)函数
微信截图_20201230151809.png3.使用binding.addActivityResultListener方法添加onActivityResult回调
微信截图_20201230151828.png如果在plugin中获取activity对象(不是Context)?
微信截图_20201230152119.pngFlutter plugin 中集成现有的android module?
将module中包含的资源以及类文件按照结果放入对应文件下即可如下图:
微信截图_20201230152241.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即可。
微信截图_20201230152448.png
网友评论