1

我有一个构建服务器,一旦构建准备好,我想在许多设备上同时运行一个 monkeyrunner 脚本。

我在这里找到了一种通过 tcp 连接到设备的方法

所以我连接到一个设备并成功运行“adb monkey”,“adb shell ls”,......

当我运行 monkeyrunner 时出现错误 - 它无法连接。

这是另一个正在寻找解决方案的人

这是monkeyrunner中的一个错误吗?有解决方法吗?

我可以使用其他工具吗?

4

1 回答 1

3

由于创建端口转发的命令导致的问题不适用于 TCP 连接的设备。如果您查看“sdk\ddms\libs\ddmlib\src\com\android\ddmlib\AdbHelper.java”

    public static void createForward(InetSocketAddress adbSockAddr, Device device, int localPort,
        int remotePort) throws TimeoutException, AdbCommandRejectedException, IOException {

    SocketChannel adbChan = null;
    try {
        adbChan = SocketChannel.open(adbSockAddr);
        adbChan.configureBlocking(false);

        byte[] request = formAdbRequest(String.format(
                "host-serial:%1$s:forward:tcp:%2$d;tcp:%3$d", //$NON-NLS-1$
                device.getSerialNumber(), localPort, remotePort));

        write(adbChan, request);

通过修改 adb 命令对我来说工作正常

byte[] request = formAdbRequest(String.format(
                   "host:forward:tcp:%1$d;tcp:%2$d",localPort, remotePort));

比你需要重建 ddmlib.jar

于 2011-10-07T08:46:04.957 回答