2015-05-06 13 views
6

Tôi đã cài đặt trình giả lập Android cho Jenkins. Tôi có thể xây dựng và thử nghiệm một dự án Android. Jenkins của tôi đang chạy trên máy chủ Ubuntu (chỉ truy cập với thiết bị đầu cuối). Dự án được lấy từ Github. Bây giờ tôi muốn sử dụng Trình giả lập. Đây là cấu hình của tôi:Trình giả lập Android trên lỗi Jenkins: thiết bị ngoại tuyến

  • hệ điều hành Android phiên bản: 4.4
  • Screen mật độ: 160
  • Màn hình độ phân giải: 480x800
  • Target ABI: armeabi-v7a

Tôi cũng cài đặt adb và đã thực hiện lệnh sau:

/opt/android-sdk-linux/tools/android update sdk --no-ui 

Nhưng nó không hoạt động:

> /usr/bin/git rev-list 3440b28279e2e95113ce1c9499d9d881e76f6810 # timeout=10 
$ /opt/android-sdk-linux/tools/android list target 
[android] Using Android SDK: /opt/android-sdk-linux 
$ /opt/android-sdk-linux/platform-tools/adb start-server 
* daemon not running. starting it now on port 7767 * 
* daemon started successfully * 
$ /opt/android-sdk-linux/platform-tools/adb start-server 
[android] Starting Android emulator 
$ /opt/android-sdk-linux/tools/emulator -ports 7765,7766 -prop persist.sys.language=en -prop persist.sys.country=US -avd hudson_en-US_160_WVGA_android-19_armeabi-v7a -no-snapshot-load -no-snapshot-save -no-window 
Failed to Initialize backend EGL display 
Could not initialize emulated framebufferemulator: WARNING: Could not initialize OpenglES emulation, using software renderer. 
emulator: warning: opening audio output failed 

$ /opt/android-sdk-linux/platform-tools/adb connect localhost:7766 
connected to localhost:7766 
[android] Waiting for emulator to finish booting... 
$ /opt/android-sdk-linux/platform-tools/adb -s localhost:7766 shell getprop init.svc.bootanim 
error: device offline 
$ /opt/android-sdk-linux/platform-tools/adb connect localhost:7766 
$ /opt/android-sdk-linux/platform-tools/adb -s localhost:7766 shell getprop init.svc.bootanim 
error: device offline 
... 
$ /opt/android-sdk-linux/platform-tools/adb connect localhost:7766 
[android] Interrupted while waiting for emulator to finish booting. 
[android] Emulator was shut down before it finished booting 
$ /opt/android-sdk-linux/platform-tools/adb disconnect localhost:7766 
[android] Stopping Android emulator 
$ /opt/android-sdk-linux/platform-tools/adb kill-server 
Archiving artifacts 
Recording test results 
ERROR: Publisher hudson.tasks.junit.JUnitResultArchiver aborted due to exception 
hudson.AbortException: Test reports were found but none of them are new. Did tests run? 
For example, AndroidManifest.xml is 10 min old 

Có ai có giải thích cho vấn đề này không? Cảm ơn

+0

Xem thêm http://stackoverflow.com/questions/23699433/android-emulator-jenkins-plugin-not-working –

Trả lời

1

Tôi gặp phải sự cố tương tự, ngay cả khi thử các lệnh theo cách thủ công. Nhưng tôi có thể giải quyết vấn đề khi sử dụng cổng như 5555,5556 theo bình luận rằng: JENKINS-27456

Có một yêu cầu kéo liên quan: PR on github

tôi sẽ xem nếu tôi có thời gian để có được và thử nghiệm một xây dựng với bản vá đó và sẽ cho bạn biết nếu nó giải quyết được vấn đề đó.

+0

Bạn có thể cung cấp một số mẫu mã tại đây không. – Ajit

+0

Vẫn đang làm việc trên đó (không phải toàn thời gian). Tôi nhận thấy rằng "adb connect" trả về "connected" khi nó đã mở socket và gửi yêu cầu "CNXN" của nó, nhưng trước khi nhận được phản hồi "CNXN". Sau đó, nếu lệnh adb tiếp theo được thực hiện trước đó, nó không thành công. Nhưng tôi không biết tại sao câu trả lời đó xảy ra ngay lập tức và đôi khi sau 5-6 giây. Đang điều tra. Tôi sẽ đăng thông tin cập nhật (và gửi PR nếu có liên quan) ngay khi tôi có điều gì đó thú vị để báo cáo –

+0

Vì vậy, tôi quản lý để plugin có thứ gì đó khác với "thiết bị ngoại tuyến" bằng cách thay đổi một chút plugin giả lập và thêm "Chủ đề .sleep (10 * 1000) "sau lệnh adb connect. Nhưng tại thời điểm đó, trình giả lập nhận trạng thái "đang chạy" cho bootanim và nó đang chờ trạng thái "dừng". –

Các vấn đề liên quan