尝试在远程adb服务器上运行gradle测试。

ADB_SERVER_SOCKET=tcp:host:portADB_DEVICE=emulator-5554适用于adb,但不适用于gradle。

看起来ANDROID_ADB_SERVER_PORT适用于gradle,但是我没有找到设置adb服务器主机的方法。

最佳答案

我可以从Android Studio源代码看出来,它不支持读取主机地址。它是硬编码的:

/**
 * Instantiates sSocketAddr with the address of the host's adb process.
 */
private static void initAdbSocketAddr() {
    try {
        sAdbServerPort = getAdbServerPort();
        sHostAddr = InetAddress.getByName(DEFAULT_ADB_HOST);
        sSocketAddr = new InetSocketAddress(sHostAddr, sAdbServerPort);
    } catch (UnknownHostException e) {
        // localhost should always be known.
    }
}


Adb读取ANDROID_ADB_SERVER_ADDRESS,因此也许可以扩展Android Studio以使用此env变量。

目前,一种解决方法是使用iptables将流量从127.0.0.1:5037重新路由到您想要的任何流量,请参见answer here

关于android - 在远程adb服务器上运行测试,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/55244280/

10-11 19:46