ADB服务器没有响应,已经绑定到tcp:5037(在kill& restart之后)

时间:2017-04-05 11:05:34

标签: android linux android-studio adb avd

我已经在我的arch-linux安装上设置了android-studio。我是Android开发的新手,所以这是一个探索性的过程。

我遇到的问题是我无法运行AVD模拟器。查看stdout上的日志,我收到错误:

[  37311]   WARN -            #com.android.ddmlib - error: could not install *smartsocket* listener: Address already in use 
[  37339]   WARN -            #com.android.ddmlib - '/home/parma/Android/Sdk/platform-tools/adb start-server' failed -- run manually if necessary 
[  37341]   WARN -            #com.android.ddmlib - ADB server didn't ACK 
[  37341]   WARN -            #com.android.ddmlib - * failed to start daemon * 
[  37341]   WARN -            #com.android.ddmlib - error: cannot connect to daemon 

现在,当我在此时手动运行时,我得到相同的响应。

我检查了那个绑定到该端口的内容

$ ss -lpn | grep 5037
tcp    LISTEN     0      4      127.0.0.1:5037                  *:*                   users:(("adb",pid=22346,fd=7))

$ ps -aux | grep adb                                     
parma    22346  0.0  0.0 167428  1932 ?        Ssl  11:04   0:00 adb -L tcp:5037 fork-server server --reply-fd 4
parma    22668  0.0  0.0  10788  2216 pts/0    R+   11:13   0:00 grep --color=auto --exclude-dir=.bzr --exclude-dir=CVS --exclude-dir=.git --exclude-dir=.hg --exclude-dir=.svn adb

看来adb已经在运行了。

首先我尝试:

$ adb kill-server 
* server not running *

所以我决定要杀掉这个过程。

$ kill 22346
$ ps -aux | grep adb                                    
parma    23612  0.0  0.0  10788  2088 pts/0    S+   11:32   0:00 grep --color=auto --exclude-dir=.bzr --exclude-dir=CVS --exclude-dir=.git --exclude-dir=.hg --exclude-dir=.svn adb
$ ss -lpn | grep 5037  

根据我是否尝试手动启动ADB服务器,或者是否尝试通过从IDE运行AVD仿真器来启动它,会发生两种不同的事情。

我手动启动:

$ adb start-server
* daemon not running. starting it now at tcp:5037 *
* daemon started successfully *
$ ss -lpn | grep 5037                                    
tcp    LISTEN     0      4      127.0.0.1:5037                  *:*                   users:(("adb",pid=23685,fd=6))

当我尝试启动AVD时,我得到了相同的错误输出,我首先发布在这篇文章的顶部。

我再一次杀了这个进程,在确认adb或者没有其他进程在端口5037上运行后我尝试启动AVD

当我跑步时,没有任何事情发生。 IDE显示失败时显示的相同加载栏,但这次没有错误输出。

我检查一下它是否正在运行,我看到是这样我检查产生过程的原因:

$ ps -faux
...
parma     8953  0.0  0.4 603036 38756 ?        Rsl  Apr04   0:25  \_ /usr/lib/gnome-terminal/gnome-terminal-server
parma     8959  0.0  0.0  43612  6140 pts/0    Ss   Apr04   0:00  |   \_ zsh
parma    24021  0.0  0.0  41988  4336 pts/0    R+   11:45   0:00  |   |   \_ ps -faux
parma     9375  0.0  0.0  43480  5956 pts/1    Ss   Apr04   0:00  |   \_ zsh
parma    10915  0.0  0.0  13716  3116 pts/1    S+   Apr04   0:00  |       \_ /bin/sh /usr/bin/android-studio
parma    10967  0.2  9.4 5183808 763400 pts/1  Sl+  Apr04   2:40  |           \_ /home/android-studio/bin/../jre/bin/java -Xbootclasspath/a:/home/android-studio/bin/../lib/boot.jar -classpath 
parma    10994  0.0  0.0   5180  2204 pts/1    S+   Apr04   0:00  |               \_ /home/android-studio/bin/fsnotifier64
parma    23842  0.0  0.0 167700  3768 ?        Ssl  11:42   0:00  \_ adb -L tcp:5037 fork-server server --reply-fd 4
...

看来android-studio确实启动了服务器,但出了点问题。当然,如果我再次尝试运行它,那么我就会熟悉并且#b; adb启动服务器失败... ADB服务器没有确认"

我完全不同意进一步诊断。我希望有人可以向我提供解决方案的一些建议。

我没有使用genymotion(因为我已经看到它在解决方案中出现了很多) - 一切都完全是股票。

据我所知,我似乎只安装了一个SDK。

当我碰巧运行一个命令时,我注意到了另外一点奇怪的行为,我认为我认为我会提及。

我在5037杀死了任何进程后:

$ adb devices
List of devices attached
* daemon not running. starting it now at tcp:5037 *
* daemon started successfully *
** daemon still not running
error: cannot connect to daemon at tcp:5037: Connection refused

我不确定这意味着什么,但似乎很有趣。

由于

0 个答案:

没有答案