Flutter入门:开发环境与开发工具的准备
Flutter入门:开发环境与开发工具的准备
原文链接:https://blog.csdn.net/JArchie520/article/details/91347607
目录
前言
一、Flutter到底是什么?
二、开发系统与工具选择
1、开发系统的选择
2、开发工具的选择
三、Flutter开发环境配置
1、系统要求
2、设置Flutter镜像(非必须)
3、获取Flutter SDK
四、iOS开发环境配置
1、安装Xcode9.0或者更高的版本
2、配置Xcode命令行工具
3、确保Xcode许可协议是已经通过授权的
1、创建项目
2、查看项目目录
3、运行项目
五、安卓开发环境配置
1、安装JDK
2、安装AndroidStudio
3、安装Flutter插件和Dart插件
4、打开运行Flutter项目
前言
距离上一次写文章到现在有小半年的时间了,产出确实有点低了,这也和个人的懒惰有很大的关系,今天正好抽出空来写篇文章。一开始是打算写一篇年中总结的,但是想了想这半年自己也没什么值得说的分享给大家,所以还是聊点和技术相关的吧。最近在几个群里,很多朋友都想要学习Flutter相关的技术,所以今天就和大家来聊聊这个时下很热门的一个技术——Flutter,做移动端研发的应该多多少少都有听过这个东西吧,尤其做安卓的,不知道的也没关系,可以到谷歌或者百度上面搜索了解一下,我相信多多少少会让你眼前一亮。
一、Flutter到底是什么?
我们在谷歌上搜索就可以看到很多和flutter相关的内容,简单来说它是谷歌开发的一套开源的跨平台软件开发工具包,最初是支持移动端跨平台开发,可以运行在Android和iOS两个平台上。在今年5月份的谷歌I/O大会上,发布了Flutter 1.5预览版,同时支持Android、iOS、Web、桌面和嵌入式设备,可以说是做到了全平台的支持,不过由于目前尚不成熟,它在国内的使用率并不高,不过可以看到它是Google Fuchsia系统的主要开发应用工具,这个Fuchsi也是谷歌正在研发的新的系统,可以说Flutter是顶着光环横空出世的,未来前景还是非常好的。目前国内也有人在使用Flutter做移动端开发了,比如阿里的闲鱼团队就在部分模块使用了Flutter做了混合式开发,这里有一份闲鱼的访谈,可以看一下:https://mp.weixin.qq.com/s/kCa9qVBkvYRSAGmxyInIPQ。
Flutter的官方开发语音是Dart语言,它是谷歌开发的一门脚本语言,最初是为了替代JavaScript而生的,不过后来由于NodeJs的诞生,使得它又被遗忘在角落里了。不过它还是很幸运,被应用在了谷歌内部的一个名为Sky的移动开发框架项目上,从此进入了移动开发领域,后来这个Sky改了个名字,成为了现在的Flutter,并且Dart还被定为谷歌的未来操作系统Fuchsia的官方开发语言。在Dart2.0之前是弱类型语言,2.0开始变更为强类型语言,属于应用层语言,有自己的DartVM,通常情况下运行在自己的虚拟机上,但是在特定情况下它也可以编译成 Native Code 运行在硬件上(比如移动开发框架中,Flutter 会将代码编译成指定平台的 Native Code 以提高性能),它比 JAVA 简单,易于理解,比JavaScript 更加规范,更加工程化。
二、开发系统与工具选择
1、开发系统的选择
Windows和Mac都可以用来开发Flutter,那么我们该选用哪一个呢?来看一张对比图:
如果大家既想开发Android,又想开发iOS,在经济允许的条件下可以选择苹果电脑,如果没有iOS方面的需求,经济条件有限的情况下可以选择Windows电脑。
2、开发工具的选择
该选用Android Studio还是Visual Studio Code呢?
AS和VSCode都可以用来开发Flutter,VSCode因为是前端开发工具,所以它无法调试我们的Android项目,所以我们如果选择VSCode的话,还需要再装一个AS,但是AndroidStudio不光可以开发Flutter,还可以开发调试Android项目,另外有一个很重要的点,它是谷歌的亲儿子,因为Flutter是谷歌开发的,AndroidStudio也是谷歌开发的,所以Flutter的一些新特性,包括一些新的调试支持,AS是首先适配的,它的优先级要比VSCode高很多,所以推荐大家使用AS开发Flutter,它的开发体验和调试支持要比VSCode更加成熟,也是官方推荐的Flutter开发工具。
三、Flutter开发环境配置
1、系统要求
这里先以Mac系统为例作为说明,后续条件满足的话再补充Windows环境下的配置
2、设置Flutter镜像(非必须)
这一步主要是为了方便那些没有VPN或者不能FQ的朋友,因为访问Flutter的环境需要能够访问外网。由于在国内访问Flutter可能会受到限制,所以Flutter官方为中国开发者搭建了临时镜像,需要注意的是,这个镜像是临时镜像,不能保证一直可以使用,可能会不定时的更新,大家可以从Flutter官网上面获取镜像服务器的最新动态:https://flutter.dev/community/china,打开网址页面往下滑就可以看到了:
然后大家可以把找到的环境变量配置到自己的用户环境变量中,如何配置呢?
首先打开终端,然后使用open -e .bash_profile命令打开我们的bash_profile文件,然后把上图中的环境变量export那两行复制放到profile文件的最后面,保存并关闭窗口,重新打开终端进入到文件中查看是否已经配置完毕,如下图所示,这样就完成了Flutter镜像的配置工作。
3、获取Flutter SDK
首先我们需要下载Flutter的SDK,这个可以到Flutter的官网上面进行下载,最好是下载一个稳定版的SDK:
我这边是下载了1.2.1的版本,下载完成之后解压安装包到一个你想要安装的目录下面,这个目录一定要记清楚,然后同样的需要把它配置到环境变量里面,和2步的方法一致,配置到.bash_profile文件的最下方,注意这里需要配置一个全路径到bin这一层,如下图所示:
到这里我们的Flutter开发环境就已经配置完成了,我们可以在终端上通过 flutter doctor 命令来检测一下是否安装成功,这个命令第一次运行的时候会很慢,运行成功以后它会列出已经安装配置好的列表项,我这里安装的是1.2.1的稳定版:
四、iOS开发环境配置
1、安装Xcode9.0或者更高的版本
这个大家可以根据自己的系统实际支持的版本而定,来下载自己需要的版本,两种方式:一、可以到官网上下载:https://developer.apple.com/xcode/ ;二、可以到App Store上下载,但是第二种现在好像只有最新版的安装包,所以如果你的系统不支持的话,还是需要自己去找到对应的版本下载。
2、配置Xcode命令行工具
通过命令:sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer 即可安装xcode的命令行工具,后面的路径需要根据自己的实际安装路径进行配置。
3、确保Xcode许可协议是已经通过授权的
如果没有授权,可以通过一行命令来进行授权:sudo xcodebuild -license,如下图所示,授权完成根据提示按q退出即可:
4、设置iOS模拟器
通过命令:open -a Simulator
五、创建运行一个简单的Flutter项目
1、创建项目
通过命令:flutter create 项目名 来创建一个Flutter项目,如下图我在桌面的FlutterProject文件夹中创建了一个flutter_app的项目
2、查看项目目录
我们进入到项目中,查看里面都有哪些文件?
android、ios分别是flutter_app这个项目的安卓和iOS的宿主工程,pubspec.yaml是这个项目flutter依赖包配置的文件,lib是dart部分的代码,里面默认有一个main.dart可以直接运行的。
3、运行项目
同样的有两种方式,先来说第一种,可以直接通过命令行的方式运行,到项目的根目录下,然后通过命令:flutter run 即可运行项目;第二种通过Xcode工具打开项目的ios宿主工程,然后点击运行按钮也可以运行我们的项目,结果如图所示:
五、安卓开发环境配置
1、安装JDK
我想目前了解Flutter比较多的还是安卓从业者,所以相信大家对于安卓的开发环境都是很熟悉的,所以这里说的可能会快一点。首先需要安装的是JDK,可以到Oracle官网上下载,最简单的直接百度JDK下载就行了,我目前使用的是JDK1.8,下载完成之后,大家需要配置一下环境变量,这个网上有很多相关教程,大家可以自行查找:
2、安装AndroidStudio
这里给大家分享一个我常用的工具下载的网站,关于安卓的一切你都可以在里面找到:https://www.androiddevtools.cn/,下载你需要的AS版本的安装包解压按步骤安装即可,没什么复杂的步骤。
3、安装Flutter插件和Dart插件
打开AndroidStudio,在工具栏找到Plugins,然后搜索Flutter和Dart安装重启AndroidStudio即可:
4、打开运行Flutter项目
如果需要新建项目我们只需要start a new flutter project即可,按照步骤一步一步新建一个Flutter项目,如下图所示:
因为我们已经创建好了一个项目,所以我们直接打开刚刚创建的flutter_app,然后选择需要运行的模拟器或者真机,选择main.dart文件,点击运行按钮即可运行我们的项目:
写到这里,其实关于环境配置这块基本上就说的差不多了,因为毕竟这是一个全新的东西,所以还有很多未知需要我们去发掘,这里也只是学习了一下最先导的配置环境,工欲善其事必先利其器,准备工作做好了,才能开心的撸代码啊!
最后把Android和iOS两个平台的运行效果都贴一下吧,算是个结语啦,我也是个新手有什么不对的,欢迎留言探讨!
如下左侧是Android平台,右侧是iOS平台:
Flutter学习之Dart开发工具使用
Flutter学习之Dart基础数据类型
Mac安装Dart的SDK
Flutter快速入门 五步搞定Flutter环境配置
Flutter从入门到进阶
iOS 真机调试包 --- 持续更新(PS:已更新13.3)
iOS开发者证书的那些事
IOS端App打包流程(Development版本)
iOS APP打包上传到APPstore的最新步骤
iOS 最新AppStore申请加急审核 以及 apple联系方式大全
ios真机调试教程(不上架App Store安装到手机)
iOS打包ipa包
MacOS Mojave环境下安装cocopod遇到的问题
CocoaPods官方使用指南
通过 sudo gem install -n /usr/local/bin cocoapods 安装 cocoapods 出现下面的提示信息:
后来参考
MacOS 下安装 flutter 遇到的一个依赖问题
该为brew 安装cocoapods竟然可以成功了,命令如下|:
brew install cocoapods
然后安装
pod setup
CocoaPods 最新源
关心最新mac系统升级之后安装ruby 2.6.3之后 ruby2.3.5用不了,gem使用一直报错解决办法
解决办法如下
解决办法如下
https://github.com/rvm/rvm/issues/4781
brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/8b9d6d688f483a0f33fcfc93d433de501b9c3513/Formula/openssl.rb
export LDFLAGS="-L/usr/local/opt/openssl/lib"
export CPPFLAGS="-I/usr/local/opt/openssl/include"
export PKG_CONFIG_PATH="/usr/local/opt/openssl/lib/pkgconfig"
rvm install 2.3.x --with-openssl-lib=/usr/local/opt/openssl/lib --with-openssl-include=/usr/local/opt/openssl/include
原文链接:https://blog.csdn.net/u012416928/article/details/104042879/
Dart 官网 :
flutter 中文官网:
https://flutter.dev/community/china
flutter 插件网
material官网
错误提示:
mkmf.rb can’t find header files for ruby at /System/Library/Frameworks/Ruby. framework/Versions/2.0/usr/lib/ruby/include/ruby.h
解决办法:
xcode-select --switch /Applications/Xcode5-DP3.app/Contents/Developer ##设置拥有macos10.9 SDK的xcode目录,貌似GM版本Xcode5和正式版没有10.9SDK了。
创建.sh脚本,并输入如下内容:
sys_rb_usr=/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr sdk_rb_usr=`xcode-select -p`/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr sudo cp -r $sdk_rb_usr/include $sys_rb_usr/include
运行脚本文件,重启问题解决。
【Mac OS】Mac部分目录读写提示“Operation not permitted”解决
转 https://blog.csdn.net/qq_28869927/article/details/83058386
问题解决
关闭Rootless
打开Rootless
问题产生
今天在将mac默认安装的python2.7升级为python3时,终端运行:sudo mv /usr/bin/python /usr/bin/python_old
1
提示“Operation not permitted”,操作不成功。问题分析
笔者在此前一天刚把Ubuntu 18.04 LTS的Python2升级为Python3,同样的方法并未提示操作不成功。故而推测可能是Mac在系统层面对某些目录增加了保护机制,即使root权限用户也不可读写。问题解决
查阅资料,发现是Mac OSX 系统中有一项Rootless机制,即使在root权限下也不能所以读写某些特定路径的文件。Rootless可以有效防止恶意程序对电脑的破坏,平时建议保持开启状态。
为了实现上述目的,我们选择手动关闭Rootless,在升级完Python之后再将其打开。关闭Rootless
重启电脑,按住Command+R进入恢复模式,点击菜单开启Terminal,输入:csrutil disable
1
重启电脑即可。打开Rootless
同样进入恢复模式,输入:csrutil enable
1
如上所说,建议平时保持Rootless机制的开始,可以有效防止电脑遭受恶意程序的破坏。
Flutter iOS混合开发(基于Flutter v1.10.15)
[Flutter] OMG!Flutter v1.12.13部署IOS v13.3.1时出现闪退现象,并报错"Thread 1:signal SIGABRT"
ios13.3.1 真机调试报错 dyld: Library not loaded: @rpath/Flutter.framework/Flutter
ios13怎么降级
iOS13 怎么降级?保留数据降级方法来了
一键降级?苹果iOS降级工具ReRa1n实测:有希望
Mac itunes备份的文件在哪里?
Flutter iOS 打包采坑...
Flutter 打包后运行闪退 release包闪退的解决办法(android)
Flutter从1.12开始 ,默认开启了混淆的 会遇到app闪退的情况,把它关闭即可,如果要用混淆的话,自行查阅 flutter 混淆的配置,开启混淆只是减少无用资源和代码压缩使安装包更小 开启状态需要配置规则文件才可避免闪退 不是很熟悉的话关闭就行了。
关闭混淆
//关闭混淆
minifyEnabled false //删除无用代码
shrinkResources false //删除无用资源
在build.gradle中配置
原文链接:https://blog.csdn.net/weixin_38025168/article/details/104019388
【Flutter】ios打包Adhoc,真机安装运行闪退
折腾了很久,查了各种日志。最后解决了,还是记录一下吧,打包前先执行以下命令
flutter build ios
————————————————
原文链接:https://blog.csdn.net/zhuwei622/article/details/103711973
IOS 处理闪退崩溃问题
flutter 导入package:flutter/material.darts 报错
原创和尚要洗头 最后发布于2019-06-14 11:53:48 阅读数 627 收藏
展开
网上下载的flutter demo运行不了,提示 "improt 'package:flutter/material.dart' not exit",网上搜索了下解决办法,只需在项目目录,打开终端,运行
flutter packages get
重启下vscode 就可以了,希望能帮到遇到同样问题的朋友。
————————————————
版权声明:本文为CSDN博主「和尚要洗头」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qianss520/article/details/91960720