2014-06-27 21 views
13

Tôi đã cài đặt Jenkins 1.568 trên Macbook Air chạy Ubuntu 14.04. Tôi đã cài đặt trình giả lập android và cấu hình tôi đã thiết lập chạy trình giả lập ở chế độ -no-window trước khi bắt đầu từng bản dựng.Trình giả lập Android không khởi động được sau 360 giây

Khoảng một nửa trong xây dựng cũng tốt, nhưng nửa còn lại, tôi nhận được sau trên console:

[android] Starting Android emulator 
$ /usr/local/src/android/android-sdk-linux/tools/emulator -no-boot-anim -ports 5782,5783 -avd Caesar -no-snapshot-load -no-snapshot-save -no-window -no-audio -no-skin -no-window 
* daemon not running. starting it now on port 5784 * 
* daemon started successfully * 
Failed to Initialize backend EGL display 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb connect emulator-5782 
[android] Waiting for emulator to finish booting... 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb -s emulator-5782 shell getprop dev.bootcomplete 
error: device offline 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb connect emulator-5782 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb -s emulator-5782 shell getprop dev.bootcomplete 
error: device offline 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb connect emulator-5782 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb -s emulator-5782 shell getprop dev.bootcomplete 
error: device offline 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb disconnect emulator-5782 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb connect emulator-5782 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb -s emulator-5782 shell getprop dev.bootcomplete 
error: device offline 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb connect emulator-5782 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb -s emulator-5782 shell getprop dev.bootcomplete 
error: device offline 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb connect emulator-5782 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb -s emulator-5782 shell getprop dev.bootcomplete 
error: device offline 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb disconnect emulator-5782 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb connect emulator-5782 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb -s emulator-5782 shell getprop dev.bootcomplete 
error: device offline 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb connect emulator-5782 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb -s emulator-5782 shell getprop dev.bootcomplete 
error: device offline 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb connect emulator-5782 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb -s emulator-5782 shell getprop dev.bootcomplete 
error: device offline 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb disconnect emulator-5782 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb connect emulator-5782 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb -s emulator-5782 shell getprop dev.bootcomplete 
error: device offline 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb connect emulator-5782 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb -s emulator-5782 shell getprop dev.bootcomplete 
error: device offline 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb connect emulator-5782 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb -s emulator-5782 shell getprop dev.bootcomplete 
error: device offline 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb disconnect emulator-5782 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb connect emulator-5782 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb -s emulator-5782 shell getprop dev.bootcomplete 
error: device offline 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb connect emulator-5782 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb -s emulator-5782 shell getprop dev.bootcomplete 
error: device offline 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb connect emulator-5782 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb -s emulator-5782 shell getprop dev.bootcomplete 
error: device offline 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb disconnect emulator-5782 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb connect emulator-5782 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb -s emulator-5782 shell getprop dev.bootcomplete 
error: device offline 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb connect emulator-5782 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb -s emulator-5782 shell getprop dev.bootcomplete 
error: device offline 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb connect emulator-5782 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb -s emulator-5782 shell getprop dev.bootcomplete 
error: device offline 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb disconnect emulator-5782 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb connect emulator-5782 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb -s emulator-5782 shell getprop dev.bootcomplete 
error: device offline 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb connect emulator-5782 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb -s emulator-5782 shell getprop dev.bootcomplete 
error: device offline 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb connect emulator-5782 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb -s emulator-5782 shell getprop dev.bootcomplete 
error: device offline 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb disconnect emulator-5782 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb connect emulator-5782 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb -s emulator-5782 shell getprop dev.bootcomplete 
error: device offline 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb connect emulator-5782 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb -s emulator-5782 shell getprop dev.bootcomplete 
error: device offline 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb connect emulator-5782 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb -s emulator-5782 shell getprop dev.bootcomplete 
error: device offline 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb disconnect emulator-5782 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb connect emulator-5782 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb -s emulator-5782 shell getprop dev.bootcomplete 
error: device offline 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb connect emulator-5782 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb -s emulator-5782 shell getprop dev.bootcomplete 
error: device offline 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb connect emulator-5782 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb -s emulator-5782 shell getprop dev.bootcomplete 
error: device offline 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb disconnect emulator-5782 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb connect emulator-5782 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb -s emulator-5782 shell getprop dev.bootcomplete 
error: device offline 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb connect emulator-5782 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb -s emulator-5782 shell getprop dev.bootcomplete 
error: device offline 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb connect emulator-5782 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb -s emulator-5782 shell getprop dev.bootcomplete 
error: device offline 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb disconnect emulator-5782 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb connect emulator-5782 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb -s emulator-5782 shell getprop dev.bootcomplete 
error: device offline 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb connect emulator-5782 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb -s emulator-5782 shell getprop dev.bootcomplete 
error: device offline 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb connect emulator-5782 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb -s emulator-5782 shell getprop dev.bootcomplete 
error: device offline 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb disconnect emulator-5782 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb connect emulator-5782 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb -s emulator-5782 shell getprop dev.bootcomplete 
error: device offline 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb connect emulator-5782 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb -s emulator-5782 shell getprop dev.bootcomplete 
error: device offline 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb connect emulator-5782 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb -s emulator-5782 shell getprop dev.bootcomplete 
error: device offline 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb disconnect emulator-5782 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb connect emulator-5782 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb -s emulator-5782 shell getprop dev.bootcomplete 
error: device offline 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb connect emulator-5782 
[android] Timed-out after waiting 360 seconds for emulator 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb disconnect emulator-5782 
[android] Stopping Android emulator 

Rõ ràng, bộ mô phỏng là không có khoảng 50% thời gian. Tôi không chắc chắn tại sao, mặc dù, hoặc làm thế nào để sửa chữa nó. Bất kỳ đề xuất nào cũng được hoan nghênh như thế nào để tôi có thể chạy và không phải khởi động lại không thành công bằng cách sử dụng naginator.

+3

Bạn đã giải quyết được sự cố chưa? Tôi đang đối mặt chính xác như nhau –

+0

Không, xin lỗi Pedro. Tôi chưa giải quyết được điều này. Tôi vẫn đang chờ câu trả lời. Trong khi đó, tôi đã giảm nhẹ nó bằng cách xây dựng lại chạy (tối đa 5 lần thử) nếu chúng không thành công. Không phải là một giải pháp tối ưu, nhưng tốt hơn là chỉ thất bại và không thành công. – jwir3

+0

Cảm ơn, tôi đã tìm kiếm giải pháp nhưng không tìm thấy gì, vì vậy tôi có một bài kiểm tra java cho những thứ mô-đun không phụ thuộc vào trình giả lập và công việc khác chỉ để thử nghiệm, nơi tôi khởi chạy nó lần là cần thiết. vì vậy bây giờ tôi có bản phát hành của tôi được tải xuống từ jenkins, điều xấu duy nhất là tất cả các trường hợp thử nghiệm giả lập phụ thuộc của tôi phải được khởi chạy trong một công việc khác. Nếu tôi tìm ra giải pháp tôi sẽ đăng nó! –

Trả lời

-1

Tôi chỉ tìm thấy giải pháp Android Emulator Plugin Failed to Initialize backend EGL display

Hãy so sánh cấu hình công việc của bạn với https://partnerdemo.ci.cloudbees.com/job/Android-dev/job/stockfish-android-cloud/, đặc biệt chú ý đến các cài đặt sau:

Inject env var: LD_LIBRARY_PATH=/opt/android/android-sdk-linux/tool/lib 
Target ABI: armeabi-v7a 
Advanced -> Emulator Options: -no-audio -gpu off 
Advanced -> Emulator Executable: emulator64-arm 

Tôi hy vọng nó sẽ giúp bạn.

+0

Câu trả lời này đã có trong câu hỏi khác. Liên kết cấu hình không hoạt động. Tôi không thấy điều gì sai về cấu hình của mình. Nó gọi giả lập, nhưng không thể bắt đầu emulatore – Libin

0

Hãy thử cập nhật Java. Tôi đã có vấn đề giả lập Android trong quá khứ và bản cập nhật Java đã sửa chúng.

0

Sự cố hết giờ.

DdmPreferences.setTimeOut là cài đặt hết thời gian chờ gói tin/đọc adb toàn cầu. Trong 'at com.android.ddmlib.SyncService.doPushFile (SyncService.java:671)', DdmPreferences.getTimeOut() được gọi và được sử dụng để đặt thời gian chờ.

Trong build.gradle:

android{ 
... 
    adbOptions { 
     timeOutInMs 10 * 60 * 1000 // 10 minutes 
    } 
} 

Đối với Eclipse (Preferences -> Android -> DDMS).

Ngoài ra, đây là biến môi trường mà bạn đặt bên ngoài build.gradle. Trên Ubuntu ví dụ:

$ export ADB_INSTALL_TIMEOUT=5 
$ ./gradlew installDebug 

giữa chạy:

sudo adb kill-server

sudo adb khởi động máy chủ

0

Dưới đây là một danh sách kiểm tra để giúp:

1) Bạn cần cờ --all cho cả danh sách android và android cập nhật sdk, nếu không một số gói sẽ không được cài đặt: ex cho SDK 24

1a) công cụ $ ANDROID_HOME// list android sdk --all

1b)

(for i in {1..100}; do echo y; sleep 1; done) | 
$ANDROID_HOME/tools/android update sdk --no-ui --all --filter 
1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,20,21,22,23,24,25,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,79,80,81,82,82,84,85,101,102,103,112,113,117,118,119,120,121,122,123,124 

nếu bạn gặp khó khăn/home/jenkins/android-sdk-linux/platform-tools/adb-trình giả lập-XXXX shell getprop dev.lỗi bootcomplete: Thiết bị ẩn lỗi, bạn có khả năng bỏ lỡ một gói trong bước 1b

2) Bỏ qua những sợ hãi không thể khởi backend EGL lỗi hiển thị, nó là một cá trích đỏ

3) Hãy chắc chắn để sử dụng Advanced tùy chọn Emulator:

Emulator Options: -no-audio -gpu off 
Emulator executable: emulator64-arm 
Startup delay: 10 -- this *may* help 

4) một pre-xây dựng kịch bản ${ANDROID_HOME}/platform-tools/adb kill-server không thể làm tổn thương kiểm tra trang web Jenkins https://issues.jenkins-ci.org/browse/JENKINS-27456 https://issues.jenkins-ci.org/browse/JENKINS-11952 bạn cũng có thể kiểm tra này https://code.google.com/p/android/issues/detail?id=209955http://www.yzjingying.net/4855150152.htm Chúc may mắn!

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