android - 在真实设备上通过wifi运行monkeyrunner

发布于 2024-11-04 18:41:03 字数 511 浏览 5 评论 0原文

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

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

因此我连接到了设备并成功运行了“adb Monkey”、“adb shell ls” ,...

什么时候我运行 Monkeyrunner 时出现错误 - 它无法连接。

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

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

我可以使用其他工具吗?

I have a build server and I would like to run a monkeyrunner script on many devices simultaneously once the build is ready.

I found here a way to connect to the devices over tcp

so I connected to a device and successfuly ran "adb monkey", "adb shell ls",...

when i run the monkeyrunner i get errors - it can't connect.

here is another guy that looks for a solution

is it a bug in the monkeyrunner? is there a workaround?

is there other tool I can use?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

痞味浪人 2024-11-11 18:41:03

由于创建端口转发命令导致的问题不适用于 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

The problem due to the command for create port forwarding is not for TCP connected device. If you looking in "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);

It is work fine for me by modify adb command to

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

Than you need to rebuild ddmlib.jar

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文