详细记下Flutter开发遇到的各种坑-带你走出入门弯路

目录

flutter安装

设置环境变量

 Android studio安装

解决install emulator问题

安装Flutter和Dart插件

gradle构建错误

分析原因

解决问题

设置gradle全局变量

生成APK问题

解决方案


flutter安装

这里我安装的Android studio是2021.2.1 Patch 1版本,可以直接百度上找个资源下载,之后所有的截图都跟这个版本有关。然后在flutter官网下载最新的flutter包(我在window系统上开发),但是两个下载方式都不是很稳定,建议大家使用如下图所示下载flutter包,以保证flutter版本最新。

点击最新的zip下载zip包到本地,将zip包解压到一个没有中文或者空字符的目录下面(如D:\flutter),flutter这部分安装算是完成了。

不过这仅仅是安装的第一步,还需要设置几个环境变量,因为在开发的时候gradle构建会根据环境变量去查找flutter资源或者下载资源。

设置环境变量

在编辑环境变量中设置两个用户变量,如下图所示

再双击Path,将flutter\bin加进来,如下图所示:

 这样flutter才是真正的配置完成了,在cmd里输入flutter --version就可以看到自己安装的flutter的版本号了。

 Android studio安装

下载Android studio是2021.2.1 Patch 1版本(自己百度,或者可以安装其他版本),flutter官网对Android studio轻描淡写,可用起来却要付出很多时间代价去摸索。

安装Android studio同时会提示你安装什么版本的sdk,我安装的sdk platforms是Android SDK Platform 33、32、31三个版本,SDK Tools安装了Android SDK Build-Tools 有30.0.3、29.0.2,以及如下图所示的其他项:

可是问题就来了,我明明安装了emulator,还一直显示install emulator,如下图:

百度之后,都说要在BIOS设置Intel Virtualization Technology为Enable,但我电脑默认就是Enable,还说安装Arm64-v8a的镜像可以解决,反正是很多种解决方案,但都不适用我这里,最后试着把Android Emulator卸载掉,然后再安装,竟然奇迹般解决了!!!

解决install emulator问题

打开Tools-->SDK Manager,在如下图所示中,把Android Emulator前面的勾去掉,然后点击下面的Apply,这样就卸载掉原来的Emulator。

卸载完成之后,再勾选Android Emulator,点击Apply重新安装,安装完成之后创建Virtual Device就成功了。

安装Flutter和Dart插件

File > Settings > Plugins中点击Marketplace搜索Flutter和Dart插件并点击安装即可,如下图所示:

 创建Flutter项目,如下图所示:

选择Flutter SDK时,就是前面Flutter解压之后所放置的目录。

 

点击下一步,按照下图,只需要填写两处即可,

 点击Finish,整个flutter项目就创建好了,按照文档说的,点击绿色三角就可以了,但是我自己的亲身体验是,报了各种错误!!

gradle构建错误

  1. 提示Build-Tools没有安装;
  2. Could not resolve com.android.tools.build:gradle7.1.2;
  3. Error:Unable to tunnel through proxy. Proxy returns "HTTP/1.1 400 Bad Request";
  4. gradle task assembledebug超级慢;

当把上面这些问题解决之后,其实罪魁祸首就是Gradle的安装问题,你会发现,每次重新启动项目时,都会自动下载安装gradle,运行项目或者Build APK时非常的慢,我禁用网络,就会报出

 

 类似这样的错误出来,也就证明了,每次构建都需要下载gradle,这样不仅导致构建非常慢,也会导致整个电脑被挤爆的现象。

分析原因

因为没有指定本地gradle,导致flutter项目没有找到关联的gradle任务,所以就会从网上下载,这样就会导致长时间一直等待。

解决问题

先打开下面的链接Gradle | ReleasesFind binaries and reference documentation for current and past versions of Gradle.https://gradle.org/releases/

下载最新的gradle版本,如下图所示:

下载gradle-7.4.2-all.zip包完成并将其放到一个新建的目录下(如D:\devtools\gradle-7\),并打开flutter项目中的gradle/wrapper/gradle-wrapper.properties文件,这个文件中有distributionUrl表示关联的gradle构建任务从哪里下载,我们可以它改成把本地链接配置如下:

 这样配置之后以上关于gradle的几个问题也就全部解决了。

设置gradle全局变量

能否安装一个全局的gradle呢?是可以的!

 首先设置两个系统变量GRADLE_HOME和GRADLE_USER_HOME,其中前者是Gradle所在目录:

后者是每个项目管理的gradle构建任务所在的目录:

注意:.gradle目录一般在c盘的用户工作目录下面,如果不确定,直接在我的电脑里搜索一下即可。

 如果创建的多个项目,一般会默认将任务创建到\.gradle\wrapper\dists\gradle-7.4-all\目录下,如下图所示,创建了三个gradle任务:

 

最后在Path中追加%GRADLE_HOME%\bin,打开cmd查看gradle版本如下:

至于出现“Error:Unable to tunnel through proxy. Proxy returns "HTTP/1.1 400 Bad Request";”错误,可以打开GRADLE_USER_HOME目录下gradle.properties文件,把代理全部注释掉,如下图所示:

生成APK问题

虽然构建成功并可以在Emulator里看了,但是还需要生成apk在真机里正常安装才行,我Build->Flutter->Build APK时,竟然出现如下错误:

 从字面上理解应该是会去maven下载配置信息,但是连接超时,或者无法连接,导致下载失败,在项目中关于maven配置的只有android-->build.gradle这个文件里有,只需要在这个文件做简单配置即可。

解决方案

在android-->build.gradle中,注释掉所有的google(),然后加上三个maven的配置,如下图所示:

 配置好之后重新Build一下就不会提示报错了。

注意!!网上说的

http://maven.aliyun.com/nexus/content/groups/public/

是http协议,当你Run的时候会编译错误,提示说协议不安全,得选择https链接才行。

为了拷贝方便,我把这三个链接贴出来:

maven { url 'https://maven.aliyun.com/repository/google' }
maven { url 'https://maven.aliyun.com/repository/jcenter' }
maven { url 'https://maven.aliyun.com/repository/public' }

以上就是我刚接触flutter遇到的坑,希望对大家也有帮助。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值