LINUX.ORG.RU

Непонимния-тред: Jenkins, Android Emulator и все-все-все

 , , ,


0

1

Есть удаленный Дженкинс, на нем собирается apk. Создал новую джобу для деплоя этого апк на эмулятор андроида и прогон тестов. В лог падает вот такое вот:

$ /var/lib/jenkins/.android/android-sdk-linux//platform-tools/adb connect emulator-5598
[android] Waiting for emulator to finish booting...
$ /var/lib/jenkins/.android/android-sdk-linux//platform-tools/adb -s emulator-5598 shell getprop dev.bootcomplete
error: device offline
$ /var/lib/jenkins/.android/android-sdk-linux//platform-tools/adb -s emulator-5598 shell getprop dev.bootcomplete
error: device offline
$ /var/lib/jenkins/.android/android-sdk-linux//platform-tools/adb -s emulator-5598 shell getprop dev.bootcomplete
error: device offline
<....>
$ /var/lib/jenkins/.android/android-sdk-linux//platform-tools/adb -s emulator-5598 logcat -v time
[android] Emulator is ready for use (took 272 seconds)

В принципе, время запуска такое - это норма. Проблема в другом. Если я захожу по ssh под пользователем jenkins на тот самый сервер, где вся эта радость происходит, и пытаюсь в процессе работы джобы, запускающей эмулятор, к этому эмулятору подключиться, то выходит фиг вам: adb не видит запущенного устройства. Мне это поломало gradle-скрипт вот такого вот вида:

task appStart(type: Exec, dependsOn: 'installDebug'){ 
  commandLine('adb','shell', 'am', 'start', '-n', 'org.takino.mtga/.FirstActivity')  

}

При этом, сам jenkins через опцию андроид-плагина вполне себе деплоит APK'шку.

С чего это так?

В процессах emulator есть, запущен от jenkins'а, adb fork-server тоже есть, запущен тоже от него.

★★★★

Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.