2015-05-06 31 views
6

我已經爲Jenkins安裝了Android模擬器插件。我可以構建和測試一個Android項目。我的詹金斯正在Ubuntu服務器上運行(只能通過終端訪問)。該項目是從Github獲得的。現在我想使用模擬器。這是我的配置:Jenkins上的Android模擬器錯誤:設備離線

  • Android操作系統版本:4.4
  • 屏幕像素密度:160
  • 屏幕分辨率:480×800
  • 目標ABI:armeabi-V7A

我也裝了亞洲開發銀行和做了以下命令:

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

但它不起作用:

> /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 

是否有人對此問題有解釋?謝謝

+0

另請參閱http://stackoverflow.com/questions/23699433/android-emulator-jenkins-plugin-not-working –

回答

1

即使手動嘗試命令,我也面臨同樣的問題。 但我可以根據這一評論使用的端口時,解決問題就像5555,5556:JENKINS-27456

有關聯的拉請求:PR on github

我會看到,如果我有時間去和測試與構建該補丁,並會讓你知道它是否解決了這個問題。

+0

您可以在這裏提供一些代碼示例。 – Ajit

+0

仍在工作(不是全職)。我注意到,「adb connect」在打開套接字併發送其「CNXN」請求之後,但在收到「CNXN」響應之前返回「連接」。 然後,如果在此之前執行下一個adb命令,則失敗。但是我不知道爲什麼有時候會有這種反應,有時候會在5-6秒後出現。調查。我會盡快發佈一些有趣的報告 –

+0

發佈更新(並提交相關的PR)因此,通過更改一些模擬器插件並添加一個「Thread .sleep(10 * 1000)「後面的adb connect命令。但是在那時,模擬器獲得了bootanim的「運行」狀態,並且正在等待「停止」狀態。 –

相關問題