Flutter安装、运行、打包问题(windows\Mac)(所有踩过的坑)

中文官网
Flurrer中文官网

WINDOWS系统

安装中遇到的问题(Wndows版本)

添加环境变量(全局)

就和设置java_home的环境变量一样就行,在系统的path里面加上fluttersdk的路径就好了

用flutter doctor 检测说Flutter plugin not installed,但是实际已安装插件

解决办法:https://blog.csdn.net/kaixinlaok/article/details/110522275

创建一个空的flutter项目,但是死活卡在创建状态。

等了半天,一直都卡着,但是强制关掉之后,会发现路径下面其实已经创建好文件了,所以重新打开android studio导入刚刚创建的项目,然后就会发现爆红,告诉你啥啥没有你点击重新载入就好了,所以很显然是下载某些东西的时候网太卡了,所以被卡在那个界面了。

FAILURE: Build failed with an exceptionCould not determine the dependencies of task ‘:app:compileDebugJavaWithJavac’.

Failed to find Build Tools revision 29.0.2

看错误就知道没找到构建工具29.0.2,所以打开SDK manger,一进去页面停留在SDK的,选择它旁边的SDK Tooll,别忘记右下角的显示隐藏,把相应的29.0.2下载下来。
在这里插入图片描述
如果下载一直失败的话,你去看看自己的安装好的是不是有个比29高的,比如我有30的,所以我去app下面的build.gradle里面把构建的版本改成了30,然后构建的工具指定为我已经又的30.0.3。
在这里插入图片描述

运行main.dart 进行调试,但是Android一直卡在Running Gradle task ‘assembleDebug’…没有动静

查询了网上说的,说可能是gradle没有下载成功。
查看了一下项目的gradle-wapper.properties里面的
distributionUrl=https://services.gradle.org/distributions/gradle-5.6.2-all.zip
发现需要的gradle的版本事5.6.2,于是去离线下载了相应的zip文件
并放在C:\Users\用户名.gradle\wrapper\dists\gradle-5.6.2-all\bcst21l2brirad8k2ben1letg下的文件夹中。当你没有相应版本的gradle时,android会自动生成一个随机名的文件夹(我这个文件夹是叫做bcst21l2brirad8k2ben1letg),并把下载的内容放在里面,所以你只要放到自己对应的随机文件夹里面就好了。
离线的Gradle大全

.离线文件下载好了,确实没有继续卡在Running Gradle task ‘assembleDebug’,变成了另一个错误

Exception in thread "main" java.lang.NullPointerException
	at org.gradle.wrapper.BootstrapMainStarter.findLauncherJar(BootstrapMainStarter.java:34)
	at org.gradle.wrapper.BootstrapMainStarter.start(BootstrapMainStarter.java:25)
	at org.gradle.wrapper.WrapperExecutor.execute(WrapperExecutor.java:129)
	at org.gradle.wrapper.GradleWrapperMain.main(GradleWrapperMain.java:61)
Exception: Gradle task assembleDebug failed with exit code 1

查询了网上说的各种说法,但是只是简单的说把当前的gradle换成4.6的版本,然后我也去离线下载了,但是还是这个错误。最后搞了很久,最终意识到可能是gradle的插件版本和gradle的版本不匹配导致的
查看Android Studio的版本,因为通常Android Studio的版本是与采用的gradle的插件的版本是一致的,当然官网上也说插件版本可独立于 Android Studio 运行并单独更新。
查看Android studio 的版本,可以看到我的Android Studio的版本是3.5.2的版本

在这里插入图片描述
在这里插入图片描述

查看指定的Gradle的插件版本,在顶级 build.gradle 文件中有进行指定,显然我这个项目的gradle的插件是classpath ‘com.android.tools.build:gradle:3.5.0’ 是3.5.0的版本
在这里插入图片描述

既然知道了gradle的插件版本,那么就要去寻找对应的gradle版本才行。
官方标注的gradle插件与gradle对应的版本
很显然,在官方标注的文件里面,其实3.5对应的gradle是5.4.1以上到5.6.4以下,但是项目里面确实是5.6.2在5.6.4以下呀,但是确实不行,那只好拿最低的5.4.1这个版本来试一下,然后就好了,可能对3.5而言,5.6.2还是太高了吧,虽然不知道我的解决思路对不对,但是还是发出来给大家一个解决的办法。
在这里插入图片描述

MAC系统

安装中遇到的问题(MAC系统)

首先确定终端使用的是bash命令,因为有时候默认是zsh

在终端输入 echo $SHELL 查看当前的采用的是什么命令工具
切换教程:(教程里面教的是怎么切换zsh)
https://jingyan.baidu.com/article/c910274b3ae6df8d371d2d3e.html
我们要用的语句是 chsh -s /bin/bash

引入镜像和添加环境变量(临时)

首先由于是中国,所以打开终端之后要先配置镜像(这种是临时的,当前终端窗口的,终端关闭再打开还需要配置)
export PUB_HOSTED_URL=https://pub.flutter-io.cn
export FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cn

然后将flutter的地址配置上去(export PATH=" P A T H : ‘ p w d ‘ / f l u t t e r / b i n " ) 官 网 写 的 , 其 实 这 句 话 的 完 整 版 是 e x p o r t P A T H = PATH:`pwd`/flutter/bin") 官网写的,其实这句话的完整版是export PATH= PATH:pwd/flutter/bin"exportPATH=PATH:文件路径/bin。
比如我下载的FLUTTER文件夹名为fluttermac,我的路径是/Users/sandy/Desktop/fluttermac
所以我添加的路径是
export PATH=$PATH:/Users/sandy/Desktop/fluttermac/bin

路径如果没有配对那么输入flutter doctor 之后会出现flutter: comment not found。

引入镜像和添加环境变量(全局)

原文链接:https://www.jianshu.com/p/c26e38aea642
以下语句是根据bash命令来的,如果不是bash命令请参考第一个问题进行切换,如果遇到Permission denied请参考下一个问题进行解决。


$HOME/.bash_profile  如果报错 没有这样的文件,就先创建,否则直接进行编辑

创建.bash_profile
输入touch .bash_profile

编辑.bash_profile文件

输入open -e .bash_profile

保存文件,关闭.bash_profile

更新刚配置的环境变量
输入source .bash_profile

验证配置是否成功
echo $PATH

-bash: /Users/sandy/Desktop/fluttermac/bin/flutter: Permission denied

没有相应的权限 终端输入:sudo chmod -R 777 文件目录
(文件目录有个简单方法直接把文件夹拖入终端,它自动会显示文件路径的)

Flutter plugin not installed,实际已安装插件

解决办法:https://blog.csdn.net/kaixinlaok/article/details/110522275

homebrew的自动安装

https://zhuanlan.zhihu.com/p/111014448

SSL certificate problem: certificate has expired

https://blog.csdn.net/weixin_43545225/article/details/106282738

Could not determine the dependencies of task :app:compileDebugJavaWithJavac

https://blog.csdn.net/mr_hmgo/article/details/106674679

来到了运行

前提条件
所有该安装好的全部安装好了。
在终端里面运行flutter doctor,已经不报错了。

cp: /Users/mac/Desktop/flutter/bin/cache/artifacts/engine/ios/Flutter.podspec: No such file or direc

想着项目在安卓机上已经好了,那么苹果机直接用xcode进行真机调试,结果xcode报错了。看了一下flutter sdk相关目录flutter/bin/cache/artifacts/engine/ios/确实没有iOS相关的所有文件,这到底是咋回事,为什么android相关的目录都有呢。找遍了全网都没有,然后想着xcode既然没办法的话,那么在android studio能不能进行真机调试,结果运行了一下就在下载了,所以真相就是在用xcode之前,先用android studio进行一下苹果的真机调试呀!!!!

没错就是这么坑,flutter sdk下载下来android相关的文件夹都包含,但是ios必须要现在android studio上面运行一下才行。

unable to build chain to self-signed root for signer "Apple Development:

出现这个问题是电脑里面缺少了证书,需要Apple Worldwide Developer Relations Certification Authority。但是是两个,一个是到2023过期的还有一个是到2030过期的,缺一不可。

以下网址中有人有回复下载链接,或者去开发者中心下载也行。
https://stackoverflow.com/questions/48911289/warning-unable-to-build-chain-to-self-signed-root-for-signer-warning-in-xcode

以上链接中的这个回复里面有两个证书的下载
在这里插入图片描述

是否有这两个证书需要去钥匙串访问里面看
启动台—其他—钥匙串访问
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值