13

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

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

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

4

4 回答 4

40

使用环境变量 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。

于 2012-06-02T18:52:52.467 回答
32

使用最新的 adb 版本,

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

例如,尝试

$adb -P 5038 启动服务器

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

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

谢谢。

于 2014-06-16T07:22:48.997 回答
11

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

应该是这样的:

为我解决了。

于 2016-05-22T00:09:33.363 回答
2

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

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

要使用它,您需要使用 -a 在另一台主机上启动 adb 并且可能也将它作为背景:

( adb -a -P 1234 nodaemon server & ) &
于 2018-01-15T10:00:09.083 回答