文章目录
- 1. 知识回顾
- 2. 问题描述与解决
- 2.1 问题描述
- 2.2 问题解决
- 3. 心得与感受
1. 知识回顾
我们在前面章回中介绍过如何获取位置信息,主要介绍的是geolocator这个三方包,不过在最近使用时却发现了问题,尝试搜索解决,但是没有结果,因此给官方提交了一个问题。本章回主要记录提交问题的过程,并且分享一些经验。
2. 问题描述与解决
2.1 问题描述
我的问题很简单:编译错误,而且是最严重的Crash问题。因此无法使用这个三方包。在AndroidStudio
中安装这个三方包后就无法使用,或者说安装时就发生了错误。下面是我提交给官方的问题描述,详细参考下面的图片:
2.2 问题解决
我开始以为是中文环境的问题,因为报的是utf-8的错误。于是想检查一下电脑环境,毕竟我用的还是Win7,因此我用doctor命令检查了一下,发现缺少VistudioStudio.于是准备安装该工具,下载了最新的2022版,但是无法安装,因为该版本不支持Win7.于是放弃安装。
回头一想:没有VistudioStudio
也可以开发Flutter呀,为什么FlutterSDK
可以正常使用,其它的三方包也可以正常使用。于是我觉得还是包有问题。在该包的Github上查找后发现在8.1.0版本后做了大的更新,于是把包从最新的10.1.0回退到旧的8.1.0.问题解决了,不但安装包时没有Crash,而且可以正常编译apk文件。
我查看了一下该包的8.1.0版本已经发布将近2年了,不能一直使用这个包呀,于是在Github
上提交了一个问题。在后面的小节将分享提交的过程和经验。
3. 心得与感受
提交问题只需要在问题网址上点击’New Issue
’就可以,不过问题的格式非常严格,主要包含以下几个内容:
- 问题名称 :主要概括问题本身;
- 复现步骤:需要分步骤进行,可以上传文件;
- 当前现象:以描述为主,可以上传图片或者视频;
- 期待现象:以描述为主,可以上传图片或者视频;
- 示例代码:需要按照格式填写示例代码;
- 运行环境:需要把flutter doctor运行的结果填写上;
我开始按照上面的格式写了一次,结果无法提交,我怀疑可能是没有按照格式写,于是重新按照提示的例子写了一次,仍然无法提交。反复查找后才发现是问题的类型不对,在最开始问题名称的地方有提示,只是不明显而已。我于是重新提交问题,选择类型时从Bug
转到了Regression
,然后就可以提交问题了。
原来只想提交一个Bug,没有想到会有这么严格的过程。我挺佩服它们这种认真细致的做法,就是正常的公司也不过如此了。一个开源的组织,只有四个member,尽然做的这么认真细致,这是我们学习的榜样,此外,该组织还有一个好用的包:permisson_handler
.我们之前也介绍过。
最后,我向此开源组织:Baseflow
致敬。向他们开发出两个非常好用的包表示感谢!