版权声明:本文未经授权,严禁转载。
Flutter是一个新的跨平台开发的工具,博主也玩了一段时间,一步步的踩着坑摸石头过河,这其中受尽了各种各样的坑,各种谷歌,stackoverflow,Flutter官网等查资料,然而有些问题还是不能及时解决,于是就自己尝试着慢慢的摸索除了一些解决方案,在这里就系统的整理一下分享给大家,只希望大家给个鸡腿吃吃,今晚的晚餐就靠大家支持了!
错误如图所示:
【原因】未配置git环境变量或者配置不对。正确的应该是找到git根路径\bin
,比如你的路径是:E:\git\bin,你就把这个路径配置到环境变量中。
【解决方案】把Flutter添加到环境变量。
【原因】
由于Http协议错误,当Clone的时候,因为curl的postBuffer默认值太小的原因,而项目可能本身比较大,所以下载失败。
【解决方案:】
打开git命令行 输入 git config –global http.postBuffer 524288000
,然后可以输入git config –list
查看刚才的设置是否生效。
说明: git config –global http.postBuffer 524288000
命令的意思:相当于把curl的postBuffer的值修改的大一些。524288000的单位是B,相当于500MB。
【解决方案:】
点击右下角 信任此文件
即可。建议执行flutter工程的时候,暂时关闭杀毒软件
,如图所示。 有时候升级flutter的时候也会爆出这样的问题,建议关闭杀毒软件。
【原因】由于使用了native libraries
。该native libraries
不支持当前的cpu的体系结构。我当前用的是x86的模拟器。
【解决方案】打开项目根目录/android/app/build.gradle,在android节点里面添加以下内容:
splits{
abi {
enable true
reset()
include 'x86', 'armeabi-v7a','x86_64'
universalApk true
}
}
具体的请看下图所示:
如果以上操作还不行就换一个arm的模拟器或者真机运行。如下图就是运行在arm模拟器上的示范操作:
【解决方案】重启命令行,重新执行flutter upgrade命令,它会自动下载sdk需要的各种工具,这说明环境是没问题的,配置也是没问题的,网络也是OK的。如下图所示:
【解决方案有以下几种方式】
只要看到错误信息含有which doesn't match any version
这样的提示基本都可以使用以下解决方案:
pubspec.lock
文件和 pubspec.yaml
文件里面搜索,确保 pubspec.lock
文件的引入的第三方插件库的版本号
和 pubspec.yaml
文件里的 版本号一致
。修改插件库源码里依赖的Flutter和Dart版本配置信息
即可。使用源码是最好的解决方式。C:\Users\Administrator\AppData\Roaming\Pub\Cache\hosted
,这里面默认是一个名为 pub.dartlang.org
的文件夹,我们现在查找看看有没有叫做 pub.flutter-io.cn
的文件夹,如果有,为了省事,建议把pub.dartlang.org的文件夹里面的文件全部 拷贝 到pub.flutter-io.cn文件夹里面就可以了。如果没有,就 创建
一个名为 pub.flutter-io.cn
的文件夹,然后再执行拷贝工作。(一般来讲,配置了国内镜像的话,就会有 pub.flutter-io.cn
文件夹)
【解决方案】这里面是因为 flutter_tools 包的兼容性问题
导致的,可能是sdk版本兼容性问题,我们可以执行 flutter upgrade
升级一下Flutter再试试看,如果不行,就按 第六条
的去做。
【原因】
当前的AS是3.2的版本。Flutter插件对AS3.2暂时还不兼容(此问题是我在第一次创建flutter的时候出现的,时间是2018年5月份,不过现在flutter插件已经兼容AS3.2了,现在貌似没有出现这个问题了。)。
以后如果还有更新的AS版本出来,只要Flutter插件没有及时更新的话,可能还会有版本兼容的提示信息。
【解决方案】
使用3.0或者3.1版本的AS开发就OK了。
【解决方案】
打开git命令行输入 ·git config –global http.postBuffer524288000·,然后可以输入 ·git config –list· 查看刚才的设置是否生效。
我遇到的几个不同的错误示例图如下:
【解决方案】 原因有2个:
(1)BITS传输服务未开启:
计算机 --> 右键 管理
--> 服务和应用程序里面
,点击服务
,然后如下图所示:
然后选中图中标记的这个,右键点击属性
,然后改成自动,确定。如下图所示:
(2)没有设置国内镜像:
如果你在国内使用 Flutter,那么你可能需要找一个与官方同步的可信的镜像站点,帮助你的 Flutter 命令行工具到该镜像站点下载其所需的资源。你需要为此设置两个环境变量:PUB_HOSTED_URL和FLUTTER_STORAGE_BASE_URL
,然后再运行 Flutter 命令行工具。
需要添加国内镜像到环境变量中。具体如下:
FLUTTER_STORAGE_BASE_URL: https://storage.flutter-io.cnPUB_HOSTED_URL: https://pub.flutter-io.cn
如下图所示:如果还出现下载错误 建议重启电脑再试试看。
我们可以看到这几种错误的共同之处:都有 BitsTransformer
或者 CategoryInfo
之类的字眼。
报的错误会有各种各样,但是只要有以上提到的两种字眼的解决方式如下:
【解决方案】
建议 删除Flutter根路径/bin/cache文件夹
,然后重新执行 flutter doctor
命令。
我电脑的Flutter根路径/bin/cache文件夹所在位置如下图所示:
【解决方案:修改flutter安装目录里面的flutter.gradle全局配置
修改flutter安装目录里面的flutter.gradle全局配置
project evaluation failed including an error in afterEvaluate{}