好了好了,再来体验一把 Flutter。
1. 环境搭建
- 首先,当然就是 搭建环境,打开 Fuller 中文网,地址是:https://flutterchina.club/,我的是 Mac 系统~
- 一步步走,由于在国内访问 Flutter 有时可能会受到限制,所以按照流程来先配置下用户环境变量,临时镜像不能保证一直可用,参考 Using Flutter in China 获取最新动态
打开访达 -> 用户名 -> .bash_profile,然后添加:
export PUB_HOSTED_URL=https://pub.flutter-io.cn
export FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cn
-
系统要求
- 操作系统: macOS (64-bit)
- 磁盘空间: 700 MB (不包括Xcode或Android Studio的磁盘空间)
- 工具: Flutter 依赖下面这些命令行工具(bash, mkdir, rm, git, curl, unzip, which)
获取Flutter SDK
下载页 下载最新的。
然后解压安装包,添加flutter相关工具到path中
export PATH=/Users/yane/Library/Android/flutter/bin:$PATH
- 运行 flutter doctor
然后仔细查看结果,看看还有什么没有安装不符合要求的。上面都有提示,可能每个人的不一样。
然后第二个问题,看下它给我参考的网页。
运行安装 cocoapods:$ sudo gem install cocoapods
安装完毕后,再次运行 flutter doctor 验证一下,搞定。
2. 体验 Flutter
- 环境配置完毕,我这里选择 Android Studio 作为编辑器。首先安装两插件:Flutter 插件和 Dart 插件。
这个插件呢,在 Android Studio 内部,真的是很难下载下来,网络问题喽,反正我是一直下载不顺利。还有个法子,那就是查看 Android studio 版本,然后去到 jetbrains 官网搜索 Flutter、Dart,下载 Android Studio 对应版本的插件,解压放置到 Android Studio 的 plugin 目录下,重启 AS。(/Users/yane/Library/Applicaiton Support/Google/AndroidStudio4.1/plugins)
- 创建新应用
注意项目名称取名要求小写。
点击运行报错:
后来搞了半天都是各种报红错误,总是拉不下来什么,最终最终还是搞定了,各种升级啥的,贴上配置,android 目录下的 build.gradle
这儿添加了:
maven{ url 'https://maven.aliyun.com/repository/google' }
maven{ url 'https://maven.aliyun.com/repository/jcenter' }
maven{ url 'http://maven.aliyun.com/nexus/content/groups/public'}
maven {
url 'http://download.flutter.io'
}
在 flutterSDK 文件目录打开文件 /Users/yane/Library/Android/flutter/packages/flutter_tools/gradle/resolve_dependencies.gradle 添加:
3. 运行应用程序
好啦,解决啦,然后点击运行,跑起来了。
- 体验热重载(Flutter 可以通过 热重载(hot reload) 实现快速的开发周期,热重载就是无需重启应用程序就能实时加载修改后的代码,并且不会丢失状态)
来改添加一行 Text,显示 “ Hello World”,点击闪电直接运行,手机上就显示出来最新的啦。
附一句:为了不每次在命令框里面输入 source ~/.bash_profile,让.bash_profile 生效,打开 .zshrc 文件,在末尾处添加代码【source ~/.bash_profile】,这样就可以永久让 .bash_profile 生效了。
记录:
GSYGithubAppFlutter:Flutter完整开发实战详解系列,提供在线预览和 pdf 下载,本系列将完整讲述:如何快速从 0 开发一个完整的 Flutter APP,配套高完成度 Flutter 开源项目 GSYGithubAppFlutter ,同时会提供一些Flutter的开发细节技巧,之后深入源码和实战为你全面解析 Flutter
好啦~ 本篇再次入坑啦。曾经的 flag 没有按时完成,再来一次!加油🆙ヾ(◍°∇°◍)ノ゙