【问题标题】:ADB server didn't ACK on macOSADB 服务器在 macOS 上没有 ACK
【发布时间】:2017-08-19 13:17:20
【问题描述】:

自从两天前我将我的 Android Studio 更新到最新的稳定版本 2.3 后,我就收到了这个错误;我从 Gradle 控制台收到的完整错误消息是:

07:59:59 E/adb: error: could not install *smartsocket* listener: Address already in use
07:59:59 E/adb: ADB server didn't ACK
07:59:59 E/adb: * failed to start daemon *
07:59:59 E/adb: error: cannot connect to daemon
07:59:59 E/ddms: '/Users/USER_NAME/Library/Android/sdk/platform-tools/adb start
server' failed -- run manually if necessary

我解决问题的尝试:

  • 杀死所有 adb 进程并确保没有进程占用端口 5037、adb kill-server(即使在 adb 正在运行的情况下也会说 * server not running *),关闭 Android Studio,删除 ~/.android 目录,运行adb start-server(说* daemon not running. starting it now at tcp:5037 *; * daemon started successfully *,启动Android Studio 并运行应用程序,MAC 抛出错误adb quit unexpectedly 并且gradle 控制台显示与我上面发布的相同的错误。

  • uninstalled and deleted all Android Studio stuff(项目目录除外),重启MAC,安装全新最新的android studio。

  • 在项目 gradle.properties 中增加了 gradle vm ram org.gradle.jvmargs=-Xmx1536M

  • 卸载杀毒并重启mac

环境:

  • 操作系统:MacOS Sierra 10.12.3
  • Android Studio:2.3
  • buildToolsVersion: '25.0.0'
  • Android 调试桥版本:1.0.39

【问题讨论】:

  • 尝试从Android Studio SDK Manager 中重新安装(即卸载并再次安装)platform-tools。您可以在这些操作之间在 shell 中运行 adb 命令,以确保您的系统中没有重复安装 ADB
  • 嗨@Onik,我卸载了platform-tool,然后在终端上运行adb。它说找不到命令。所以我认为有noduplicates

标签: android android-studio android-gradle-plugin adb


【解决方案1】:

Address already in use 表示您正在运行另一个 adb 实例。 检查您的系统变量 $PATH$ANDROID_HOMElocal.properties 文件(您的项目)和您的 .bash_profile 。确保所有这些都具有相同的 android sdk 路径。然后尝试重新启动 adb 服务器。 adb kill-server 和 adb start-server

【讨论】:

  • 感谢 JIthin,我总是在活动监视器中看到 adb 的一个实例。然后我在我的 MAC 上创建了一个新用户并安装了 Android Studio,它工作正常。我发现它与$PATH 和挖掘到.bash_profile .bashrc .profile .zshrc .zlogin 并清理重复项和它的工作原理有关。再次感谢。
【解决方案2】:

我读到你杀死了 adb,但正如这个答案所说 How to resolve the "ADB server didn't ACK" error? 你是从平台工具文件夹中做到的吗?如果你的回答是肯定的,update the Android SDK to the lastest version via the SDK manager and update the $ANDROID_HOME

希望对你有帮助!

【讨论】:

  • 嗨@Jaco,第一个链接不能解决我的MAC上的问题;见the log。至于第二个链接,SDK路径已经设置好了,我创建并导出了一个自定义路径,安装了工具,并在Android Studio中更改了它,但仍然没有运气
【解决方案3】:

当我有两个 ADB 实例工作时,我通常会发现这个问题,即当我同时运行我的 Eclipse 和 Android Studio 并且它们指向系统上的不同 SDK 管理器(平台工具文件夹)时。尝试搜索正在使用 ADB 的其他 IDE,在 Activity Monitor 中将其杀死并仅运行一个实例。或者我的解决方法是只有一个 SDK 管理器,并将我的两个 IDE 都指向一个平台工具文件夹。

希望对您有所帮助。

【讨论】:

    【解决方案4】:

    就我而言,我使用 brew cask 安装了旧版本的 adb。当我将我的 Android Studio 更新到最新版本时,adb 仍然指向 brew 安装的旧版本。

    所以在更新那个版本之后,使用:

    brew cask install android-platform-tools
    

    并确保 adb 本身指向新版本,错误就消失了。

    【讨论】:

      【解决方案5】:

      只需写下平台工具路径(/Users/USER_NAME/Library/Android/sdk/platform-tools) 在位于 (/Users/USER_NAME/.bash_profile) 的 .bash_profile 文件中,如下所示:

      export PATH="$PATH:/Users/USER_NAME/Library/Android/sdk/platform-tools"

      【讨论】:

      • 请详细说明您的答案以帮助其他人解决此问题。
      猜你喜欢
      • 2016-06-27
      • 1970-01-01
      • 2021-01-13
      • 2017-09-04
      • 1970-01-01
      • 2015-10-01
      • 2019-04-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多