Flutter Mac项目创建和运行

提示:
正式版FlutterSDK为stable稳定版2.2.0(Release Date2021/5/19),Mac完整的相关文件2.55GB
Flutter Mac环境配置

1、创建项目

1.1指定路径cdFlutterCode文件夹(自己定义)
Macbook@MacBook % cd /Users/Macbook/Documents/FlutterCode 
1.2创建项目flutter create,名称为FlutterDemo(自己定义)
直接创建:
Macbook@MacBook FlutterCode % flutter create FlutterDemo
或者授权创建sudo,需要电脑密码:
Macbook@MacBook FlutterCode % sudo flutter create FlutterDemo
1.3创建结果,显示安卓和iOS都配置完成。
创建结果截图(部分).png
项目文件夹.png

2、运行项目

2.1方法一:按照上面提供的指令运行

2.1.1执行flutter packages get加载需要包
2.1.2执行open -a simulator打开模拟器
2.1.3提示应用运行方法:cd FlutterDemoflutter run
注意:第一次创建项目执行上面4个指令,iOS会加载项目tools工具包以便项目在Xcode上打包或者运行在iOS设备上。当然如果优先做Android的可以暂时忽略上面指令,直接到Android Studio上打开FlutterDemo项目运行,需要什么都会帮你自动下载好。毕竟Flutter、Android Studio都是Google的。

2.2方法二:到Android Studio和Xcode上运行,直接打开文件里面的工程。

3、Android Studio

1.安装插件FlutterDart保证编译环境正常
2.安装安卓设备模拟器(自行选择下载)
3.运行(如果选iOS设备运行,会下载ios tools工具包到FlutterSDK,目前891.8 MB)

工具.png

插件Flutter和Dart.png
运行时一直卡在Running Gradle task 'assembleDebug'...
网上有人说修改配置路径可以修复,但是我换一个好的网络环境,第一次跑几分钟后是可以正常运行的。可以看到下面进度条一直在动,在安装安卓SDK、Tools。
长时间加载SDK和Tools等.png
当出现真机运行或者每次重启`Android Studio`都报错提示修复 `FlutterSDK`的时候。可能用以下方法解决:
1、在偏好设置里面配置Flutter语言框架指向的SDK路径;
2、在`.bash_profile`文件添加配置2条路径`tools`和`platform-tools`:
(注:/Users/Macbook/Library/Android/sdk为下图AndroidSDK路径)
export PATH=${PATH}:/Users/Macbook/Library/Android/sdk/tools
export PATH=${PATH}:/Users/Macbook/Library/Android/sdk/platform-tools
FlutterSDK路径和版本号.png

AndroidSDK路径.png

运行结果


Android运行结果.png

4、Xcode(有报错会列出解决方案)

运行如果报错,要修改一下Build System,在Xcode菜单栏选择File -> Workspace Setting -> Build System 选择Legacy Build System 重新运行即可。

错误error:
Command PhaseScriptExecution failed with a nonzero exit code
1.运行如果报错,要删除SDK的cache,重新`flutter doctor`下载缺失文件
2.运行如果报错engine里面没有ios文件,需要复制别人的过来,或者`open -a simulatr`之后再运行`cd FlutterDemo`和` flutter run`,确保文件存在。

错误error:
……/flutter/bin/cache/artifacts/engine/ios/Flutter.podspec: No such file or directory
iOS需要文件.png
iOS运行结果.png
如果是安卓那边创建的flutter项目,可能丢失整个ios文件夹,需要指令去创建

在flutter项目下的Terminal(确保路径正确),执行:

`flutter create .`  // 表示默认语言iOS swift Android kotlin创建
`flutter create . -i objc` //  -I表示iOS,objc表示OC语言
-i, --ios-language           The language to use for iOS-specific code, either ObjectiveC (legacy) or Swift (recommended).
                             [objc, swift (default)]
-a, --android-language       The language to use for Android-specific code, either Java (legacy) or Kotlin (recommended).
                             [java, kotlin (default)]

结语

撸了半年的flutter,感觉挺不错的,多多少少都会越到点坑,也都能解决。

你可能感兴趣的:(Flutter Mac项目创建和运行)