我是一个崭露头角的 android 开发人员,如果没有简单的方法来配置 adb 服务器以在另一个端口上运行,那么工具的不灵活性将迫使我退出 android 应用程序开发。
网络搜索未返回任何解决方案。
我还在 android sdk 目录中的所有文件中搜索了“5037”,但没有在那里找到设置。
使用环境变量 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 版本,
使用选项 -P(注意:Caps P)在特定端口启动 adb 服务器。
例如,尝试
$adb -P 5038 启动服务器
它将列出连接到此特定 adb 服务器的设备。如果 adb 服务器没有运行,那么它将使用给定的端口号启动一个新的 adb 服务器。
希望它对阅读这篇文章的人有所帮助。
谢谢。
还有另一个变量支持此连接到不同机器的 adb:
ADB_SERVER_SOCKET=tcp:some.other.host:1234 adb devices
要使用它,您需要使用 -a 在另一台主机上启动 adb 并且可能也将它作为背景:
( adb -a -P 1234 nodaemon server & ) &