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构建很慢,可能电脑性能一般,或者下载各依赖软件太慢,可能都是在线下的,后续考虑此问题

相关推荐
傅里叶35 分钟前
Flutter开发的app,实现Google 登录
前端·flutter
chenzhen_09071 小时前
flutter布局规则
flutter
tangweiguo030519875 小时前
Flutter 中打开网络图片的完整指南
flutter
西西学代码6 小时前
Flutter---BLE设备通信
flutter
程序员Ctrl喵7 小时前
状态管理与响应式编程 —— 驾驭复杂应用的“灵魂工程”
开发语言·flutter·ui·架构
始持7 小时前
第十五讲 本地存储
前端·flutter
始持7 小时前
第十四讲 网络请求与数据解析
前端·flutter
啥都想学点7 小时前
第14天:Flutter 打造质感拉满的轮播图
flutter
tangweiguo030519879 小时前
Flutter 深潜:当动态 List 遇上 JSON 序列化,如何优雅解决?
flutter
恋猫de小郭9 小时前
Flutter 的 build_runner 已经今非昔比,看看 build_runner 2.13 有什么特别?
android·前端·flutter