2011-04-27 2 views
20

안드로이드 유닛 테스트를 위해 헤드리스 머신에 젠킨스 CI 서버를 설치하기위한 정보를 수집 중입니다. Android 단위 테스트를 실행하려면 에뮬레이터가 필요하지만 그래픽 환경이 필요하거나 비 그래픽 모드에서 에뮬레이터를 실행할 수 있습니까? Jenkins Android Emulator plugin에 위키 항목이이 문제에 매우 계몽 아니라,이 상태 :헤드리스 머신에서 Jenkins와 안드로이드 유닛 테스트

당신이 (X 서버를 실행하지 않는 예를 들어 리눅스 서버) 헤드리스 실행 노예를 구축하는 경우, 그것은 추천합니다 Jenkins의 Xvnc Plugin을 활용하십시오. 이 플러그인을 사용하면 "에뮬레이터 창 표시"옵션을 활성화 한 상태에서 헤드가없는 슬레이브에서 여러 Android 에뮬레이터를 병렬로 실행할 수 있습니다.

"에뮬레이터 창 표시"옵션이 비활성화 된 헤드리스 시스템에서 에뮬레이터를 실행할 수 있다는 것을 의미합니까?

그래픽 환경이 필요한 경우 대부분의 소스에서 가장 쉬운 해결책은 Xvnc 서버를 사용하여 X 인스턴스를 제공하는 Xvnc 플러그인을 사용하는 것입니다. 그러나이 Xvnc 서버가 X를 사용할 수있는 다른 컴퓨터에서 실행해야하는지 제대로 이해했거나 거기에서 X 인스턴스를 제공하는 헤드리스 컴퓨터에서 실행됩니까?

답변

33

해당 플러그인의 작성자로서 그래픽 환경이없는 헤드리스 머신에서 에뮬레이터를 실행할 수 있습니다. — "에뮬레이터 창 표시"옵션의 선택을 취소하십시오.

이것은 명령 줄에서 "-no-window"옵션을 사용하여 Android 에뮬레이터를 실행하는 것과 같습니다.

위키를 더욱 명확하게 업데이트합니다. 그것을 가져 와줘서 고마워.

+1

답변과 훌륭한 플러그인에 감사드립니다! – nkr1pt

+1

괜찮습니다. 나는 위키 문서를 개선했다. –

+0

이 다시 손상된 것 같습니다. 백엔드 EGL 디스플레이 에뮬레이터를 초기화하지 못했습니다. 경고 : 소프트웨어 렌더러를 사용하여 OpenglES 에뮬레이션을 초기화 할 수 없습니다. – user1050755

0

내 프로젝트에서 비슷한 설정이 있습니다. 그러나 저는 유닛 테스트를 위해 Robolectric를 선택했습니다.

Jenkins에서 Robolectric 테스트를 실행하는 것은 매우 쉽습니다.

머리가없는 젠킨스 서버에서 시스템 테스트를 위해 에뮬레이터를 사용해야 할 수도 있습니다.

헤드리스 서버에서 시스템 테스트를 실행하는 솔루션이 아직 없습니다.