遇到一个flutter项目无法正确构建,生成必要文件(.android目录等)、也无法从AS独立窗口打开的问题
问题如图:

发生问题的前置操作:我挂了梯子,安装了flutter SDK,flutter doctor提示无法连接github,还改过git全局代理,在gitconfig文件内生成了http.proxy及https.proxy地址,未另外安装jdk,as内默认使用了自带的jdk11
解决办法:清除git内配置的代理,配置flutter的环境变量( 用户变量 即可),下载pub文件到flutter SDK同级目录并配置对应的环境变量
PUB_HOSTED_URL https://pub.flutter-io.cn
FLUTTER_STORAGE_BASE_URL https://storage.flutter-io.cn
PUB_CACHE pub文件路径
使用get命令在 flutter项目根目录内 运行,生成必要文件:
flutter pub get
可能存在下载缓慢的问题,可开关梯子/或者清理缓存再试
flutter clean # 清理项目缓存
flutter pub cache repair # 修复包缓存
成功效果如图:

建议使用如下git命令拉取带有flutter项目的代码
git clone --recursive <主项目仓库地址>
如果项目没拉齐全也可以用命令重新拉
git submodule init # 初始化子模块配置
git submodule update # 拉取子模块内容
git submodule update --init --recursive # 递归拉取所有子模块
最后生成了必要文件后,重新build还遇到了flutter编译报错,指向了flutter生成文件内的问题
FlutterPlugin.kt:744:21 Unresolved reference: filePermissions
FlutterPlugin.kt:745:25 Unresolved reference: user
FlutterPlugin.kt:746:29 Unresolved reference: read
FlutterPlugin.kt:747:29 Unresolved reference: write
此类问题是由于flutter版本和gradle/jdk版本不兼容导致无法编译,我用了最新的flutter SDK 3.38,但gradle是7.5-bin,as内部jdk用的11,电脑JAVA_HOME指向了as自带的jdk21,要么升级项目内的jdk和gradle,要么降低flutter版本
最后降低flutter版本到3.10才解决了编译问题。