我花了几天时间尝试启动任何Android程序。甚至“Hello World”也给出了同样的错误:

“与亚行的连接中断,发生了严重错误”。

我在一台Windows XP机器上运行Eclipse v3.5 (Galileo),谷歌api 2.2.8。

我已经使用了我在网上能找到的所有技巧:命令行“adb kill-server”,DDMS“reset adb”,我在Eclipse之前和之后都启动了模拟器,并搜索其他程序正在使用的端口。

这是怎么回事?是否存在Eclipse、Java、ADB、模拟器和其他任何有效版本的神奇组合?


当前回答

我正在运行Eclipse Neon2。在最近将我的Android SDK升级到最新的“SDK Tools”(v 25.2.5)、“Platform Tools”(v 26)和“Build Tools”(v 26)并将我的一个开发项目转移到Android Studio后,我遇到了这个问题。

不幸的是,这里的答案没有一个对我有用。

所做的工作是在不同的文件夹中创建一个单独的Android SDK副本,然后通过“Preferences—> Android”将Eclipse指向它。您必须使用此SO回答中所示的较旧版本的SDK。

一旦你下载了SDK的独立版本,并将其放在与Android SDK主包不同的文件夹中,启动SDK管理器(通过<separate- SDK >/tools/ Android),并安装所需的“平台工具”,“构建工具”和Android版本。这里有两件重要的事情需要注意:

确保你没有升级你的“SDK工具”超过已经安装的版本! 确保你安装的“构建工具”版本小于26!

否则,您可能会遇到这个问题。

其他回答

另一个错误原因可能是您可能将adb.exe设置为以管理员权限运行。

下面是我运行的重启adb (Android调试桥)服务器的脚本:

#!/usr/bin/env bash

## Summary: restart adb (Android Debug Brdige) server.

## adb binary full path
ADB_BIN=./adb


if pgrep adb >/dev/null 2>&1
then
    echo "adb is running"
    echo "terminating adb ..."
    $ADB_BIN kill-server
    if pgrep adb >/dev/null 2>&1
    then
        echo "did not work"
        echo "kill adb processes by killall"
        killall -9 adb
    else
        echo "terminated"
    fi
else
    echo "adb is not running"
fi

echo "starting adb ..."

$ADB_BIN start-server

echo "adb process:"

echo `pgrep adb`

echo "done"

# END

在Windows环境变量PATH中增加“android-sdks/platform-tools”。

杀死神秘运行的abd.exe起作用了。这个突如其来的障碍让我停了很长时间。我正在做各种各样的命令行工作,并从我的用户文件夹中删除了锁图标,但直到您简单地建议在任务管理器的运行进程中查找abd并杀死它,才起作用。

我发现的另一个新手障碍是:当主.java文件以外的任何文件处于活动状态时,不要运行Eclipse。例如,如果在main.xml文件处于活动状态时运行它,则会得到无用的错误消息,生成一个类似main.xml的奇怪文件。出来了,它就不能运行了。

我尝试过“adb kill-server”,重启了Eclipse太多次。我甚至重启了我的电脑。它们不起作用。

最后,我关掉了手机的测试模式,又打开了。然后一切看起来都很好。