Android含Flutter的项目无法编译/窗口打开的问题记录

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

问题如图:

build报错

发生问题的前置操作:我挂了梯子,安装了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才解决了编译问题。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容