目录
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构建错误
- 提示Build-Tools没有安装;
- Could not resolve com.android.tools.build:gradle7.1.2;
- Error:Unable to tunnel through proxy. Proxy returns "HTTP/1.1 400 Bad Request";
- gradle task assembledebug超级慢;
当把上面这些问题解决之后,其实罪魁祸首就是Gradle的安装问题,你会发现,每次重新启动项目时,都会自动下载安装gradle,运行项目或者Build APK时非常的慢,我禁用网络,就会报出
类似这样的错误出来,也就证明了,每次构建都需要下载gradle,这样不仅导致构建非常慢,也会导致整个电脑被挤爆的现象。
分析原因
因为没有指定本地gradle,导致flutter项目没有找到关联的gradle任务,所以就会从网上下载,这样就会导致长时间一直等待。
解决问题
下载最新的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遇到的坑,希望对大家也有帮助。