MacOS系统下Android Studio无法连接模拟器问题求助
MacOS下Android Studio模拟器无法连接项目且adb启动失败问题
我在MacOS系统使用Android Studio时遇到模拟器无法运行应用的问题。数月前我还能正常打开旧项目并在模拟器上运行,间隔数月后开发新项目,现在可以正常打开模拟器,但模拟器无法和我的新项目、旧项目建立连接。
我启动模拟器时会收到faild to start adb报错,还有daemon is terminated的通知,我搜索了相关解决方案尝试后都没有效果。
以下是我的flutter doctor -v输出:
or found issues in 3 categories. Macbooks-MacBook-Pro-3:learning_bee quanan$ flutter doctor -v [✓] Flutter (Channel dev, 2.3.0-24.0.pre, on Mac OS X 10.14.6 18G2022 darwin-x64, locale en-US) • Flutter version 2.3.0-24.0.pre at /Users/quanan/Downloads/flutter • Upstream repository https://github.com/flutter/flutter.git • Framework revision 2b9537c783 (5个月前), 2021-06-11 22:11:53 -0700 • Engine revision ddbac024d1 • Dart version 2.14.0 (build 2.14.0-188.0.dev) [✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0) • Android SDK 路径:/Users/quanan/Library/Android/sdk • Platform android-30, build-tools 31.0.0 • Java 二进制路径:/Library/Java/JavaVirtualMachines/jdk1.8.0_271.jdk/Contents/Home/bin/java • Java 版本:Java(TM) SE Runtime Environment (build 1.8.0_271-b09) • 所有Android许可已接受 [!] Xcode - develop for iOS and macOS ✗ Xcode安装不完整;iOS开发需要完整安装Xcode 下载地址:https://developer.apple.com/xcode/download/ 也可以通过App Store安装Xcode 安装完成后执行: sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer sudo xcodebuild -runFirstLaunch ! CocoaPods 1.9.3 版本过旧(推荐1.10.0及以上版本) CocoaPods用于拉取iOS和macOS平台端的插件代码,对应你在Dart侧使用的插件 没有CocoaPods的情况下,插件无法在iOS或macOS上运行 更多信息参见:https://flutter.dev/platform-plugins 升级指引参见:https://guides.cocoapods.org/using/getting-started.html#installation [✓] Chrome - develop for the web • Chrome 路径:/Applications/Google Chrome.app/Contents/MacOS/Google Chrome [!] Android Studio (version 2020.3) • Android Studio 路径:/Applications/Android Studio.app/Contents • 可以从以下地址安装Flutter插件: 🔨 https://plugins.jetbrains.com/plugin/9212-flutter • 可以从以下地址安装Dart插件: 🔨 https://plugins.jetbrains.com/plugin/6351-dart ✗ 无法找到绑定的Java版本 • 尝试更新或重新安装Android Studio [✓] VS Code (version 1.62.2) • VS Code 路径:/Applications/Visual Studio Code.app/Contents • 可以从以下地址安装Flutter扩展: 🔨 https://marketplace.visualstudio.com/items?itemName=Dart-Code.flutter [☠] Connected device (设备检测崩溃) ✗ 发生错误,检测未完成。如果下方错误信息没有帮助,可以在以下地址提交issue: https://github.com/flutter/flutter/issues ✗ 异常:无法运行"adb",请检查你的Android SDK安装情况和ANDROID_SDK_ROOT环境变量: /Users/quanan/Library/Android/sdk/platform-tools/adb • #0 throwToolExit (package:flutter_tools/src/base/common.dart:10:3) #1 AndroidDevices.pollingGetDevices (package:flutter_tools/src/android/android_device_discovery.dart:78:7) <asynchronous suspension> #2 PollingDeviceDiscovery._populateDevices (package:flutter_tools/src/device.dart:397:54) <asynchronous suspension> #3 Future.wait.<anonymous closure> (dart:async/future.dart) <asynchronous suspension> #4 DeviceManager.getAllConnectedDevices (package:flutter_tools/src/device.dart:163:40) <asynchronous suspension> #5 DeviceValidator.validate (package:flutter_tools/src/doctor.dart:515:34) <asynchronous suspension> #6 asyncGuard.<anonymous closure> (package:flutter_tools/src/base/async_guard.dart:111:24) <asynchronous suspension> ! 检测共发现3类问题
我的设备SSD容量仅125GB左右,一年前就已卸载Xcode和所有iOS模拟器,因此Xcode相关报错属于正常情况可忽略。据我回忆,之前应用可正常在模拟器运行时,打开Android Studio也会出现Flutter daemon terminated报错但不影响使用,因此我认为该报错不是本次问题的诱因。
每次启动Android模拟器时都会显示如下报错:
解决方案
1. 修复adb运行异常
核心问题是adb工具无法正常执行,按以下步骤操作:
- 首先排查权限问题,打开终端执行:
如果仍然报错,直接删除chmod +x /Users/quanan/Library/Android/sdk/platform-tools/adb /Users/quanan/Library/Android/sdk/platform-tools/adb devices/Users/quanan/Library/Android/sdk/platform-tools目录,打开Android Studio的SDK Manager,重新下载Android SDK Platform-Tools即可。 - 检查环境变量配置:打开
~/.zshrc(如果用bash则打开~/.bash_profile),确认已经添加以下配置:
配置完成后执行export ANDROID_SDK_ROOT=/Users/quanan/Library/Android/sdk export PATH=$PATH:$ANDROID_SDK_ROOT/tools:$ANDROID_SDK_ROOT/platform-toolssource ~/.zshrc生效,重启终端测试adb命令是否可以正常执行。
2. 修复Android Studio绑定Java版本异常
执行以下命令为Android Studio绑定你本地已安装的JDK:
mkdir -p /Applications/Android Studio.app/Contents/jre/Contents ln -s /Library/Java/JavaVirtualMachines/jdk1.8.0_271.jdk/Contents/Home /Applications/Android Studio.app/Contents/jre/Contents/Home
3. 重启服务生效
所有配置完成后执行以下命令重启adb服务:
adb kill-server adb start-server
之后重启Android Studio,重新启动模拟器即可正常识别连接。
内容的提问来源于stack exchange,提问作者An.on
相关产品推荐
相关产品推荐

