在设备上本地使用ADB(环回)不显示任何设备

Jay*_*way 15 android localhost local loopback adb

我试图在Android设备上使用ADB,因此没有任何主机.这在几天前完美运行,但它突然停止工作.据我所知,从那时起没有任何变化(例如没有安装应用程序(联合国)).我可以adb backup -f /sdcard/backup.ab <package-name>在终端模拟器中使用它,它将开始备份该包.当我现在尝试时,它会返回adb: unable to connect for backup.调查使用adb devices返回一个空列表.我以前从不打扰检查设备,我只是直接进入我的adb命令,因为一切正常.

这是在运行Android 4.4.2,ADB版本1.0.31的HTC Desire上.使用这款手机在我的电脑上使用ADB工作正常,但这不是我想要的.

我试过了什么

  • 我试图在不同的设备上执行相同的操作(4.4.2上的华硕PadFone 2,4.4.2上的三星Galaxy Note GT-N7000,4.1.2上的索尼Xperia S.)但是adb devices返回所有这些上面的空列表.我开始想知道为什么这对我的HTC Desire起作用了.
  • 搜索Google和Stack Overflow,但大多数(如果不是全部)结果都是指驱动程序问题或涉及主机的任何其他问题.
  • adb kill-server+ adb start-server约一百次,以及stop adbd+ start adbd.
  • 在"设置"中关闭和打开"USB调试",以及撤消对先前授权的计算机的访问.(但是,在工作情况下,我从未收到任何RSA密钥验证提示.)
  • adb -a devices - >清单.
  • adb usb- > error: device not found.
  • 尝试在TCP模式下重新启动adb(d)是不成功的(即使在工作情况下这不是必需的).adb tcpip 5555回报error: device not found.
  • getprop不返回任何已命名的条目,service.adb.tcp.portsetprop service.adb.tcp.port 5555默默地失败 (事后检查getprop service.adb.tcp.port没有返回.这不需要root吗?)
  • adb connect localhost回报unable to connect to localhost:5555.
  • 当守护进程启动时,它从端口5038开始(当我的PC上使用ADB时,它从5037开始).adb connect localhost:5038回报connected to localhost:5038.但是adb devices仍然返回一个空列表,然后adb backup返回adb: unable to connect for backup.此外还有adb shell退货error: device not foundadb get-state退货unknown.所以在这里也没有成功.
  • 使用getprop dhcp.wlan0.ipaddress(返回192.168.1.xx)查找我的本地IP 然后adb connect 192.168.1.xx返回unable to connect to :5555.adb connect 192.168.1.xx:5038- > unable to connect to :5038.使用ADBHOST=192.168.1.xx adb start-server对这些结果没有影响.
  • AOSP问题跟踪器中的这个主题是少数实际上有些相关的搜索结果之一.然而,它描述了一个问题,其中,在使用之后setprop service.adb.tcp.port 5555, adb devices至少显示设备,然而离线(即localhost:5555 offline).在线程末端附近有一个解决方案,它涉及更改$ HOME目录以便更改RSA密钥的保存位置,例如HOME=/sdcard.然后有必要使用公钥附加到/ data/misc/adb/adb_keys cat /sdcard/.android/adbkey.pub >> /data/misc/adb/adb_keys.但是,我认为这需要root吗?此外,所有这些在工作情况下都没有必要,所以我怀疑我的问题的解决方案是在这个方向找到.本文源自AOSP的问题跟踪器中的主题,并未提及附加公钥.但是,提到的方法是不成功的.
  • netstat 返回(以及其他):

    • Proto: tcp
    • Recv-Q: 0
    • Send-Q: 0
    • Local Address: 127.0.0.1:5038
    • Foreign Address: 0.0.0.0:*
    • State: LISTEN
  • ps显示一个/sbin/adbd过程以及一个adb过程:

    • USER:shell PID:92 PPID:1 VSIZE:3624 RSS:264 WCHAN:ffffffff PC:00000000 S NAME:/ sbin/adbd
    • USER:u0_a57 PID:9754 PPID:1 VSIZE:3016 RSS:988 WCHAN:ffffffff PC:4014f768 S名称:adb
    • (从终端执行的命令以USER:u0_a57执行.)

我想这就是它.

我正在寻找一个不需要root的解决方案,因为在我之前工作时不需要root.我希望我的情况和问题很清楚.如果我的问题需要改进,请告诉我,因为这是我第一次在Stack Overflow上发帖.希望有人可以帮助我.提前致谢!

小智 -2

我相信您的设备可能已重新启动。adb tcpip 5555要最初让你的手机进入 TCP,你必须从计算机上运行。但这不会永远持续下去。如果您的手机重新启动,则您将必须adb tcpip 5555再次从计算机运行。

我不确定你说的是什么意思:

尝试在 TCP 模式下重新启动 adb(d) 不成功(即使在工作情况下这不是必需的)。adb tcpip 5555 返回错误:未找到设备。

你是从电脑上运行的吗?如果是来自计算机,那么我不确定问题出在哪里。但如果是从手机来的,那么它就找不到要更改为tcp的设备。

要解决此问题,adb tcpip 5555应该可以通过计算机进行。