flutter项目调试问题小结

背景

目标是用android studio + flutter 跑hello world

下载

android studio

我下载的是2024.3.2.15版本

最新版下载首页就能下:下载 Android Studio 和应用工具 - Android 开发者 | Android Developers

历史版本可在归档列表下载:Android Studio 下载文件归档 | Android Developers

注意,打开归档列表没东西是因为网页为中文,把语言改成英文,滑动到最底下选择同意,就能看到归档列表了

flutter

我下载的是3.22版本

在归档列表可下载历史版本:归档列表 | Flutter 中文文档 - Flutter 中文开发者网站 - Flutter

版本

android studio: m版本

flutter sdk:3.22版本

android studio

不同版本会有差异,我用emulator运行项目,ladybug运行emulator会提示下载haxm,haxm在github才能下,国内访问github有时会访问不了。最后卸载了l版本,下载了m版本

flutter

刚开始下了最新版(3.32),发现和gradle,kotlin有些不兼容,提示要用gradle9.0以上版本,但gradle9.0又找不到包,调了半天,无果。

后来卸了,装了个3.22版本,调调能跑

困难

用flutter3.32+android studio m版本调了半天调不出来

配置

创建项目时flutter sdk path

创建flutter项目,会提示输入flutter sdk path,这里填环境变量配置的那个bin目录的上级目录就可以

环境变量

这俩必选要配,不知道配哪可配用户变量

这个可选配置,配flutter命令,配了可能方便些,任意cmd窗口都能执行flutter命令。找到flutter sdk的安装路径(解压路径),把bin目录绝对路径加到用户变量的path下

gradle

配置点如下,此处gradle版本是8.6,android studio版本是m

gradle下载源配国内镜像,如果用默认的services.gradle.org会超时

settings.gradle和build.gradle加上国内源,否则也可能超时

emulator

运行avd后可运行设备未显示emulator

检查android studio是否安装cmdl tools,在settings下sdk tools底下找到command line tools字样,若未安装则勾选,然后点确认或apply,点完了会弹窗下载,安装完comand line tools,退出android studio重新打开项目,重新运行avd,检查可运行设备是否显示avd

若还不行,可能licenses未接受,配了flutter环境变量前提下,打开一个cmd终端,输入flutter doctor --android-licenses 处理license是接受还是拒绝,完成后再重试检查是否能avd运行项目

项目运行

java和gradle版本不匹配

运行flutter doctor --verbose 检查android chain下面的build版本,即java版本,再对照java版本找合适的gradle版本。我用了java21,gradle最开始用了7.6,提示gradle和java版本不兼容,把gradle换成8.6就好了

可提升点

运行速度

emulator 用gradle构建很慢,可能电脑性能一般,或者下载各依赖软件太慢,可能都是在线下的,后续考虑此问题

相关推荐
yujunlong39193 小时前
[特殊字符] Serverpod 4.1.0 全栈项目开发与 Docker 部署规范文档
flutter·docker·serverpod
FungLeo4 小时前
成为全栈·Go 后端篇·换后端不改前端:四个客户端如何做兼容回归
flutter·golang·go·成为全栈·兼容测试·taro 小程序
恋猫de小郭6 小时前
Flutter Android 性能修复:8 个大核的手机,Raster 居然只跑在 2 个核上?
android·flutter
恋猫de小郭1 天前
感人,Flutter 居然有了一个超实用提案,期待落地
android·前端·flutter
好的佩奇2 天前
Dart 之增强枚举
android·flutter·dart
好的佩奇2 天前
蓝牙之无线电与通信距离
android·flutter·蓝牙
程序员老刘·3 天前
从短剧App的bug看响应式编程在AI时代的优势
flutter·ai编程·跨平台开发
传奇开心果编程4 天前
【Flutter踩坑排雷】第7课:巨型 build 函数坑|全部 UI 写在同一个 build,维护难、隐性异常
android·flutter·ios·移动开发·跨平台·dart·声明式ui
程序员老刘4 天前
从短剧App的bug看响应式编程在AI时代的优势
flutter·ai编程·客户端
恋猫de小郭4 天前
最近 Android 有什么更新:Android Dev Summit 2026 技术解读
android·前端·flutter