【问题标题】:Changing default port (i.e. 5037) on which adb server runs更改运行 adb 服务器的默认端口(即 5037)
【发布时间】:2011-04-19 16:35:20
【问题描述】:

我是一个崭露头角的 android 开发人员,如果没有简单的方法来配置 adb 服务器以在另一个端口上运行,那么工具的不灵活性将迫使我退出 android 应用程序开发。 p>

网络搜索未返回任何解决方案。

我还在 android sdk 目录中的所有文件中搜索了“5037”,但没有在那里找到设置。

【问题讨论】:

  • 这很烦人。我在启动多个 Eclipse 实例(不同的工作区)时遇到了它。由于两者都有 android 插件,它们相互冲突并导致奇怪的行为 - 例如,一个进程显示在一个 eclipse 的 ddms 设备视图中,一个进程(在同一个模拟器上)显示在另一个 eclipse 的 ddms 设备视图中。
  • 您可能希望将您的“问题”重新表述为它确实包含一个问题。并删除脏话 ;-) 我们知道您很沮丧,但不要向我们抱怨,我们没有编写 adb。
  • googled for 5 mins 天哪,整整 5 分钟?!?!
  • 这是什么..king quitting android app development你是在开玩笑吗?
  • 我可以理解为什么人们对问题的原始陈述反应消极,但这实际上是一个非常重要的问题,并且具有持续价值的答案。具有硬编码假设的工具在与做出相同假设的其他工具发生冲突时会出现很大问题,因此很高兴知道有一些方法可以配置它。

标签: android default port adb


【解决方案1】:

使用环境变量 ANDROID_ADB_SERVER_PORT 选择端口。

以下在 bash 下工作:

$ export ANDROID_ADB_SERVER_PORT=12345 
$ adb start-server
* daemon not running. starting it now on port 12345 *
* daemon started successfully *
$ adb devices
List of devices attached 
TA2070M5O6  device
$ ANDROID_ADB_SERVER_PORT=6789 adb devices
* daemon not running. starting it now on port 6789 *
* daemon started successfully *
List of devices attached 

在另一个终端我跑了:

$ ANDROID_ADB_SERVER_PORT=6789 emulator ...

回到原来的终端:

$ ANDROID_ADB_SERVER_PORT=6789 adb devices
List of devices attached 
emulator-5554   device
$ adb devices # ANDROID_ADB_SERVER_PORT was exported as 12345
List of devices attached 
TA2070M5O6  device

我通过 Jenkins Android Emulator Plugin 发现了这个,因为我注意到它在不同的端口上运行 adb。

【讨论】:

  • 有没有办法将特定设备附加到特定的 adb 服务器?
  • 你可能需要先从终端运行sudo apt-get install android-tools-adb
  • @tonygil 有没有办法做到这一点?您刚刚提供了工具,您如何实际为特定服务器指定设备?
  • @ALM 很抱歉花了这么长时间。我有一段时间没有使用 ADB,但这是一个本地 wifi 连接,用于在 Android 智能手机/平板电脑上调试我的代码(在 Eclipse IDE 上的 ubuntu 盒子中)。
  • @JakubCzaplicki 是的 - 确保在运行模拟器时将 ANDROID_ADB_SERVER_PORT 设置为相同的端口。对我来说,这似乎有效,除非在模拟器已经运行后启动 adb 服务器......
【解决方案2】:

使用最新的 adb 版本,

使用选项 -P(注意:Caps P)在特定端口启动 adb 服务器。

例如,试试

$adb -P 5038 启动服务器

它将列出连接到此特定 adb 服务器的设备。如果 adb 服务器没有运行,那么它将使用给定的端口号启动一个新的 adb 服务器。

希望对阅读这篇文章的人有所帮助。

谢谢。

【讨论】:

    【解决方案3】:

    在 Windows 中,转到环境变量 - 添加一个名为 ANDROID_ADB_SERVER_PORT 的新变量 并将其设置为您想要的任何值,我已设置为 5038。

    应该是这样的:

    帮我解决了。

    【讨论】:

      【解决方案4】:

      还有另一个变量支持此连接到不同机器的 adb:

      ADB_SERVER_SOCKET=tcp:some.other.host:1234 adb devices
      

      要使用它,您需要在另一台主机上使用 -a 启动 adb,并且可能还需要在后台启动它:

      ( adb -a -P 1234 nodaemon server & ) &
      

      【讨论】:

        猜你喜欢
        • 2014-07-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-01-18
        • 1970-01-01
        • 2010-09-10
        • 2014-04-24
        • 2016-10-02
        相关资源
        最近更新 更多