You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Flutter项目中Android模拟器显示device offline但原生Android应用可正常运行的问题排查求助

Flutter项目中Android模拟器显示device offline但原生Android应用可正常运行的问题排查求助

各位好,我在办公笔记本上开发Flutter项目时碰到了一个特别棘手的问题:Android模拟器跑原生Kotlin/Java应用时启动、运行都完全正常,但Flutter就是没法检测或连接到它,一直显示device offline

我遇到的具体错误信息如下:

adb command 'C:\Users\User 2\AppData\Local\platform-tools\adb.exe -e shell am start-foreground-service -e meter on com.android.emulator.radio.config/.MeterService ' failed: 'adb.exe: device offline`

为了解决这个问题,我已经尝试了一堆排查步骤:

  • 杀死并重启ADB服务器:
    adb kill-server
    adb start-server
    adb devices
    
  • 删除并重新创建AVD
  • 重新安装Android Studio和Android SDK
  • 尝试不同的系统镜像(API 30、API 31)
  • 确认使用的adb.exe路径是正确的
  • 运行flutter doctor——除了模拟器显示offline外,其他所有检查项都显示正常
  • 启用模拟器的USB调试和开发者选项
  • 对模拟器执行冷启动并清除数据
  • 在Android Studio中禁用并重新启用「使用检测到的ADB位置」选项
  • 执行flutter clean命令后重新构建项目

另外还有个特殊情况:为了让模拟器能正常启动,我必须手动在config.inihardware-qemu.ini两个配置文件中添加以下设置:

hw.gpu.mode = swiftshader_indirect

要是不加这个设置,模拟器要么卡死要么直接崩溃,但就算加了这个临时解决方案,Flutter依然显示模拟器处于offline状态,原生Android应用却能毫无问题地运行。

我的系统配置详情:

  • CPU:Intel(R) Core i5-8365U @ 1.60GHz
  • 内存:8 GB
  • 存储:238 GB SSD
  • GPU:Intel UHD Graphics 620(128 MB共享显存)
  • Flutter版本:3.27.2
  • Android Emulator版本:截至2025年5月的最新版本

补充的错误日志如下:

WARNING | adb command 'C:\Users\User 2\AppData\Local\platform-tools\adb.exe -s emulator-5554 shell settings put system screen_off_timeout 2147483647 ' failed: 'adb.exe: device offline'
WARNING | adb command 'C:\Users\User 2\AppData\Local\platform-tools\adb.exe -s emulator-5554 shell settings put system screen_off_timeout 2147483647 ' failed: 'adb.exe: device offline'
WARNING | adb command 'C:\Users\User 2\AppData\Local\platform-tools\adb.exe -s emulator-5554 shell settings put system screen_off_timeout 2147483647 ' failed: 'adb.exe: device 'emulator-5554' not found'

我现在主要有几个核心疑问想请教大家:

  1. 为什么只有Flutter项目会出现ADB报告模拟器offline的情况,原生Android应用却完全正常?
  2. swiftshader_indirect这个GPU模式会不会干扰Flutter连接模拟器?
  3. 最重要的是,我该怎么做才能让模拟器在Flutter项目中显示为online并正常使用?

我已经搜遍了各种资料并尝试了能找到的所有解决方案,但都没效果。如果需要完整日志的话我也可以提供。希望能得到大家的帮助,谢谢!

内容来源于stack exchange

火山引擎 最新活动