Запуск тестов на удаленном сервере ADB - PullRequest
1 голос
/ 19 марта 2019

Попытка запустить gradle-тесты на удаленном сервере adb.

ADB_SERVER_SOCKET=tcp:host:port и ADB_DEVICE=emulator-5554 отлично работает для adb, но не для gradle.

Похоже, ANDROID_ADB_SERVER_PORT работает на gradle, но я не нашел способа установить хост сервера adb.

1 Ответ

2 голосов
/ 21 марта 2019

Что я могу сказать из исходного кода 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 на все, что вы хотите, см. ответ здесь .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...