首先它跟谁冲突这个可以通过dos命令来查。
另外如果你安装一个豌豆荚之类的东西,他们会先帮你把这个端口给占据,那么你就可以正常来用了。其他的程序就不可能再使用这个端口了。
最后提醒一下,一把你只要不把手机USB连接电脑,腾讯的tadb就不会启动

解决方案 »

  1.   

    adb kill-server
    adb devices或者可以考虑每次连接时都创建新的adbdebugbridge
      

  2.   

    这样不行吧?首先,我即使先用命令符查到了哪些进程占用了我需要的端口,但是为了运行我的程序,我不可能结束掉别的进程吧,这样的要求用户也接受不了啊,而且我也不可能要求别人用我的程序前一定要先装一个豌豆荚之类的东西,另外我需要使用的设备就是安卓系统的,我肯定得用USB连接到电脑,这样只要一连接上其他一些应用程序就会启动各自的一些后台进程,那样我还是用adb连接不了我需要的设备了
      

  3.   

    这样不行吧?首先,我即使先用命令符查到了哪些进程占用了我需要的端口,但是为了运行我的程序,我不可能结束掉别的进程吧,这样的要求用户也接受不了啊,而且我也不可能要求别人用我的程序前一定要先装一个豌豆荚之类的东西,另外我需要使用的设备就是安卓系统的,我肯定得用USB连接到电脑,这样只要一连接上其他一些应用程序就会启动各自的一些后台进程,那样我还是用adb连接不了我需要的设备了
    你这说的啥,你调试的时候才需要开启adb,你东西都制作了,还要adb干嘛呢?你做的东西是放在手机上用的吧?放手机上使用app还需要USB连接开发端么?
    使用5037端口的就那么几个程序,怎么可能那么巧都去抢占这个接口
      

  4.   

    如果是被其它端口占用,我执行 adb kill-server  ,它又提示“* server not running *”这个了。这样也解决不了吧
    adbdebugbridge 这个是怎样用啊?没用过
    我想,像电脑上要是装了360手机助手啊,腾讯手机管家,或者刷机大师之类的东西时,它们全开了也不会相互影响啊。它们也是通过adb命令也管理设备的,不知道它们是怎么解决这个问题的
      

  5.   

    这样不行吧?首先,我即使先用命令符查到了哪些进程占用了我需要的端口,但是为了运行我的程序,我不可能结束掉别的进程吧,这样的要求用户也接受不了啊,而且我也不可能要求别人用我的程序前一定要先装一个豌豆荚之类的东西,另外我需要使用的设备就是安卓系统的,我肯定得用USB连接到电脑,这样只要一连接上其他一些应用程序就会启动各自的一些后台进程,那样我还是用adb连接不了我需要的设备了
    你这说的啥,你调试的时候才需要开启adb,你东西都制作了,还要adb干嘛呢?你做的东西是放在手机上用的吧?放手机上使用app还需要USB连接开发端么?
    使用5037端口的就那么几个程序,怎么可能那么巧都去抢占这个接口
    不是啊。我的程序是要一直通过adb.exe来控制安卓设备的,所以好多命令都需要它来发命令执行,只是如果刚开始连接的时候端口被占用,那我直接都找不到设备了,后面的操作就没意义了啊。难道就真的只能是kill掉那些相冲突的进程么?
      

  6.   

    别折腾了,一般电脑上装了360或qq的话,你第三方的adb都得完蛋
      

  7.   

    基本是这样的,除非检测到他们的adb,直接用他们的adb好了
      

  8.   

    这样不行吧?首先,我即使先用命令符查到了哪些进程占用了我需要的端口,但是为了运行我的程序,我不可能结束掉别的进程吧,这样的要求用户也接受不了啊,而且我也不可能要求别人用我的程序前一定要先装一个豌豆荚之类的东西,另外我需要使用的设备就是安卓系统的,我肯定得用USB连接到电脑,这样只要一连接上其他一些应用程序就会启动各自的一些后台进程,那样我还是用adb连接不了我需要的设备了
    你这说的啥,你调试的时候才需要开启adb,你东西都制作了,还要adb干嘛呢?你做的东西是放在手机上用的吧?放手机上使用app还需要USB连接开发端么?
    使用5037端口的就那么几个程序,怎么可能那么巧都去抢占这个接口
    不是啊。我的程序是要一直通过adb.exe来控制安卓设备的,所以好多命令都需要它来发命令执行,只是如果刚开始连接的时候端口被占用,那我直接都找不到设备了,后面的操作就没意义了啊。难道就真的只能是kill掉那些相冲突的进程么?
    手机只要不是默认开始调试模式,电脑端的都不会占用那个端口的。已开启调试模式,该端口自动打开。
    工具就一把,你要用,人家也要用,那只能PK看最后谁拿到了。。
      

  9.   

    这个问题 我也碰到过  解决的方法也是和楼主一样,先杀进程中tadb然后 重启device中的adb,但还是期望更好的解决办法!
      

  10.   

    我也遇到过这个问题,我每次是5037端口被占用,用netstat命令查出来是一个svchost.exe占用的,每次开机之后都要kill一次svchost.exe求高手解决
      

  11.   


    tadb是腾讯的,你可以试试360的关关,直接给你加入到病毒库
      

  12.   

    多谢大家了  想到解决办法了  adb.exe在谷歌能下载到源码,看了里面的源码也了解了些里面的原理,后来发现像360 刷机大师,腾讯管家,这些软件他们使用的adb也是经过修改的,就像DrSmart 说的一样,他们修改了adb的机制,先查找当前是否已经开启adb server,如果有开启,就直接连接到它的服务端,如果检测到没有开启adb server,则开启adb.exe进程,启动adb server .这样就保证不会冲突了.
      

  13.   


    我每次也是新建一个adbdebugbridge,依然是不管用。难道我用的有问题?请指点下。
    另外楼主是否能透露下,“查找当前是否已经开启adb server,如果有开启,就直接连接到它的服务端,如果检测到没有开启adb server” 这个机制怎么使用?
      

  14.   

    最简单的方法...去建立个环境变量,名字为ANDROID_ADB_SERVER_PORT,值为任意未占用的端口号即可,比如我的是7035...确定,关掉你所有的cmd窗口,再去连接吧...完美解决,最后奉劝各位,都是搞软件开发的还不懂得做开发一定要远离360这句话么?凡是看到一个开发电脑上面装着360,我内心对这个开发者的印象就大打折扣...
      

  15.   

    楼主,我现在也在做winform操作安卓手机。有没有相关资料给共享下啊
      

  16.   

    请问一下你所说的”先查找当前是否已经开启adb server,如果有开启,就直接连接到它的服务端“,这一步是在应用里面做还是在adb源码里面,如果是应用中应该是用socket连5037端口,那又怎样用socket构造adb shell之类的功能呢?