flutter笔记2:android studio、android SDK、安卓虚拟机和运行第一个项目

根据前一篇安装好flutter和dart插件,就可以书写dart代码了,但是到哪里去运行代码呢?这里就要安装flutter的运行和发布环境了。

安装前的准备

啰嗦两句,为萌新解释一下名词:
Android SDK是安卓开发环境,用于运行代码,如果把你写的代码当作原材料的话,那么SDK就是把原材料变为成品的工厂,这个工厂已经被谷歌工程师建好了,码农们拿来用就可以了,怎么用?后面慢慢讲
Android Studio是代码编辑器,说白了就是一个文本编辑工具,性质等同于office word。文员用word书写排版和样式精致的文案,而码农则用Android Studio书写牛掰的代码,两者都是生产原材料的工具。

按照flutter官网的指引,去下载Android Studio,这里需要,萌新表示这不是欺负新手么,不干了!
办法总是有的,从现在开始,妥妥的改用谷歌浏览器,其他浏览器作为备用,为什么?因为谷歌浏览器提供了各种强大的插件,除了帮助开发者调试程序以外,还可以!还可以!还可以!

请自行百度 谷歌访问助手

怎么安装怎么操作,参照搜索结果吧,目前靠谱一点的插件主要有这3个:

  • 谷歌访问助手

免费,但是要按要求设置360或者hao123的主页,不喜欢广告的同学请忍忍吧,毕竟人家免费提供,打打广告也不算过分吧。实际使用效果一般,网路不太稳定,毕竟是免费的

  • 谷歌服务助手

免费,也会设置主页,效果和上面那个差不多,不过这个插件有进入安卓官网、go、油管、脸书的快捷入口,不用单独收藏夹了,体验略微好一点,但是广告比上面那个多一点点

  • 谷歌上网助手

收费,但是初次注册的用户免费使用3天,网络十分稳定,会员价格不算贵,玩吃鸡买代理要30块/月,这个价格差不多只有吃鸡代理的一半:15.99,不限流量

安装以上任意一个插件都可以访问谷歌浏览器插件,但建议不要同时打开,尽情享受插件的乐趣吧~

相信谷歌浏览器和插件装好后的小伙伴应该可以打开android studio的官网了,接着安装Android Studio和Android SDK

1.官网下载安装包:

这里可能网站有BUG,又或者是官网故意为之,点击上图的下载按钮,有时候会弹出用户协议(WIN10),需要同意之后才能下载,有时候又不会弹出协议(WIN7),直接跳转到后面的下载链接:

注意看了,给下载链接的是不包含Android SDK的Android Studio,好在安装完Android Studio之后会提示安装Android SDK,不然无法打开新项目

这里第一个坑,萌新玩家不要洁癖安装exe文件,上图中提供的链接还有zip压缩版本,不建议萌新使用,因为安装版会自动配置环境变量和各种运行库,而zip版的安装对萌新略难,为了免坑,还是老老实实安装exe版本,无脑安装何乐而不为呢。

2.安装Android Studio

如果通过用户协议同意之后才开始下载的Android Studio版本,是自带了Android SDK的,无脑一顿下一步,什么都有了。
如果是通过链接下载的版本,就没那么好运了,安装时会自动下载相关的文件,而我就遇到这个问题:

无法安装Android SDK,而且也不告诉我,到底是哪里出了问题...忧伤了好一阵子

没事,放心点击Canel,然后安装完毕,点击Finish。进入Android Studio(由于我改了暗黑主题,原谅我前后配图风格不匹配的问题,因为我不想再重现前面的问题配图了,嘿嘿):

看到上图中的红色标记没,点击它,选择SDK Manager,会打开这个窗口:

如果没有安装Android SDK,窗口中的SDK存放路径应该是空的,或者这里不是空的,但出现了前面无法安装Android SDK的问题,则可以点击上图右边的Edit按钮,变更路径:

当然,你得先找一个准备存放SDK的地方新建一个英文名文件夹,可参照图中的样子,路径中不要出现中文,千万不要出现下面的这几种类似的路径:

E:\我的flutter学习\AndroidSDK
E:\flutter我的学习\AndroidSDK

否则NDK引用会出问题,NDK是啥?我也不知道,反正路径中出现中文就会导致你的代码不能正常运行。

选好路径后,点击上图中右下角的next,然后一路无脑next>Finish,耐心等待进度条,即完成了Android SDK的安装。

Android SDK安装完毕后,还需要新增一个环境变量:
变量名:ANDROID_HOME
变量值:E:\Program Files (x86)\AndroidSDK

再到Path下,加入下面这段:
%ANDROID_HOME%\tools;%ANDROID_HOME%\platform-tools;

然后重启电脑,否则下一步会报找不到Android SDK的错误

友情提醒
这个AndroidSDK文件夹最好不要放到C盘,因为安卓系统的镜像、以后会用到的各种组件都会存放到这个文件夹,随着开发量的增加,这个文件夹会越来越大,C盘可能吃不消。

如果是无脑安装Android Studio和Android SDK的,Android SDK默认是存放到C盘一个隐藏文件夹下的目录(C:\Users\Administrator\AppData\Local\Android\sdk),就像上图一样,把Android SDK文件夹剪切到C盘以外的其他盘,然后在这里改成新的路径即可。

3.启动安卓系统

由于Android Studio集成了安卓系统模拟器的工具,而我目前也只会用这个办法配置安卓虚拟机的启动,虽然Android Studio也可以撸码,但我更喜欢vscode更轻更快的撸码体验。

还记得上一篇讲过用命令创建的myflutter项目吗?我们在这里用Android Studio打开:

进入项目之后,我们要运行这个初始的代码,有两种方式:

A.USB连接安卓手机

由于现在各大安卓厂商都深度订制了自己的系统,调试模式的开启方式各有不同,我就不挨个介绍了,大家自行百度吧。只要手机连上电脑后,打开调试模式,从命令提示符进入项目根目录下,输入如下代码:

flutter doctor

运行后如图:

然后再输入:

flutter run

运行后如图:

这里就奇怪了,因为前面更改了系统默认的Android SDK文件路径,并且环境变量也按照修改后的路径变更了,为什么这里还会去系统默认的路径去找Android SDK呢?
灵光一闪的我到搜索里面搜索到了这个:

原来引用Android SDK并不是使用的环境变量,我觉得按理来说应该是可以支持的,但我不知道怎么书写这个语法,如果有大神知道,请留言告诉我,感谢啦~!!

按照图里的说明,把最新的路径更新上去,再次执行

flutter run

运行后如图:

flutter会自动生成安卓的apk文件并安装到手机上,这时候到手机上看看你会发现手机上多了一个应用,名字就是myflutter:

点进去进去玩玩吧~反正也没什么好玩的

flutter支持热更新,随时改随时看效果,每次更改代码保存后,在终端中按一下小写的 r 键即刷新修改后的效果,如同前端开发一样方便,如果按一下大写的 R 键则重新启动整个APP。

这种USB连接手机的方式,更适合测试APP,尤其适合测试应用体验,并且不会额外的占用电脑的内存和性能控件,但刚开始开发堆砌功能的时候,开发者需要在手机-电脑来回切换操作,撸码不是很方便,而且仅能测试当前手机上运行的效果,安卓手机在品牌和型号上有众多分支,屏幕分辨率、硬件配置、系统内核各有差异,如果为了使APP适配广大手机群,每种安卓手机都得买一台作为测试机,对个人开发者来说简直就是草泥马。

B.使用安卓虚拟机

这里又分两种情况:
如果你的电脑CPU支持VT-X和SVM,并且内存配置很高(8G以上),强烈建议这个方法,可以模拟各种型号的手机安卓系统,每个手机就是一个虚拟机,何乐而不为呢。

通过SDK下载工具下载安卓系统镜像:

从上图中打开这个窗口:

再进入这里选择手机型号:

建议选择1080P分辨率的手机,毕竟是主流配置。

再进入这里选择安卓系统版本:

选安卓系统版本时,我建议使用7.1或7.0版本,7.0是目前覆盖率比较高的版本,8.0才出没多久,各大厂商还没来得及升级,当然7.0以前的版本还是有不少,根据需求下载吧,有时候得看运气,系统版本太低是无法安装APP的,我还没找到当前flutter beta0.1.7版本支持的最低安卓系统版本的信息,如果有知道的小伙伴,请留言补充一下,感谢啦

点击next,进入这里:

我这台电脑使用的是AMD的CPU,走不下去了~默哀一秒,貌似大多数AMD的CPU都不支持VT-X和SVM,inter支持的倒是有不少。

如果你的电脑CPU不支持VT-X和SVM,则无法创建和启动安卓虚拟机,请使用A方式,准备一个安卓手机作为开发测试机吧。

如果虚拟机创建好的情况下,应该是这个样子滴:

如图中所示,启动虚拟机:

至于虚拟机怎么玩,右边有一排功能按钮,虚拟机里也可以用鼠标代替手指操作,新萌可以尽情的把玩把玩。然后我们回到VScode的项目中,终端里再次输入:flutter run,看看效果如何:

然后我们输入:flutter run -d all

好勒,本次探索到此告一段落,有耐心看完本篇的小伙伴们都是真粉丝,感谢大家捧场,下一篇我将开始代码实战啦。

对flutter感兴趣的小伙伴可以关注我,也欢迎大家到我的Flutter系列中投稿,也可以联系管理员加入我们的flutter微信群嗨聊。其实我也是flutter新萌,从认识到现在大概48小时,希望和大家一起学习成长,赶上谷歌的这趟跨平台火车~~嘟嘟 下篇见~!
flutter 中文社区(官方QQ群:338252156)

你可能感兴趣的:(移动开发,运维,数据结构与算法)