Android模拟器-5554离线,2个进程在不同的端口上运行相同的名称和ID?

时间:2014-01-08 04:14:43

标签: android linux android-emulator 64-bit offline

我的模拟器始终显示为脱机状态。我知道已经提出了类似的问题,但我认为这个问题更具体。我在64位kali linux上运行android adt。 我运行了这个命令:

netstat -tulpn

并获得此输出


    Active Internet connections (only servers)
    Proto   Recv-Q   Send-Q   Local Address    Foreign Address   State    PID/Program name 
    tcp     0        0        127.0.0.1:5037   0.0.0.0:*         LISTEN   5022/adb         
    tcp     0        0        127.0.0.1:5554   0.0.0.0:*         LISTEN   4952/emulator64-arm 
    tcp     0        0        127.0.0.1:5555   0.0.0.0:*         LISTEN   4952/emulator64-arm 
    tcp6    0        0        127.0.0.1:8700   :::*              LISTEN   5037/java        
    udp     0        0        0.0.0.0:68       0.0.0.0:*                  3971/dhclient    
    udp     0        0        0.0.0.0:59731    0.0.0.0:*                  3971/dhclient    
    udp6    0        0        :::49275         :::*                       3971/dhclient

请注意,在端口5554和5555上运行了两个具有相同名称的进程。如其他线程中所述,端口5555应该可用于仿真器。所以,我对我该做什么一无所知? 如果我使用PID 4952终止进程,模拟器将关闭。

3 个答案:

答案 0 :(得分:0)

使用lsof找出正在访问端口的进程。

lsof -i:5554
lsof -i:5555
lsof -P 4952

如果只处理4952访问这些端口,那么你需要检查该应用程序中是否有任何配置(4952),也许你需要进行调整。

答案 1 :(得分:0)

您的模拟器中端口的状态是正确的。端口5555用于连接adb服务器,端口5554用于控制台连接。

通常,您可以尝试:

adb kill-server
sudo adb devices

这些命令将在su中重新启动adb服务器。通常问题将得到解决。 但是,有数千种方法会导致模拟器脱机。您没有提供足够的有用信息。

答案 2 :(得分:0)

我每次启动模拟器时都使用“擦除用户数据”选项解决了这个问题。它总是有效的。我找不到任何其他有希望的解决方案。