2015-10-05 22 views
12

Tôi không thể nhận lệnh Gradle từ dòng lệnh để làm việc với hình ảnh mô phỏng API API Google API (Google APIs ARM (armeabi-v7a)) - Tôi luôn nhận được com.android.ddmlib.ShellCommandUnresponsiveException .Lệnh Gradle không thành công trên API 23 Trình mô phỏng API Google API (armeabi-v7a)

bước để tái sản xuất:

  1. Tạo một AVD với API 23 Google APIs ARM (armeabi-v7a)
  2. Clone https://github.com/googlemaps/android-maps-utils (hoặc sử dụng dự án của riêng bạn)
  3. Run gradlew installDebug từ dòng lệnh

Bạn' sẽ thấy:

:demo:assembleDebug :demo:installDebug FAILED

FAILURE: Build failed with an exception.

  • What went wrong:

Execution failed for task ':demo:installDebug'. com.android.builder.testing.api.DeviceException: com.android.ddmlib.ShellCommandUnresponsiveException

Nếu bạn chạy gradlew connectedCheck bạn sẽ thấy một lỗi tương tự:

  • What went wrong: Execution failed for task ':library:connectedDebugAndroidTest'. com.android.builder.testing.api.TestException: com.android.builder.testing.api.DeviceException: com.android.ddmlib.ShellCommandUnresponsiveException

tôi thể cài đặt/chạy dự án và kiểm tra từ Android Studio (1.4) mà không cần bất kỳ vấn đề.

Lệnh Gradle dường như chạy tốt trên hình ảnh mô phỏng Google API API 21 Google API từ dòng lệnh.

Dưới đây là một thất bại ví dụ về Travis cho API 23 hình ảnh API giả lập Google:

https://travis-ci.org/barbeau/android-maps-utils/builds/83233500

... và một ví dụ thành công xây dựng khi sử dụng API 21 Google image API giả lập:

https://travis-ci.org/barbeau/android-maps-utils/builds/83234555

Sự khác biệt duy nhất giữa hai bản dựng là API trình mô phỏng API Google của 23 so với 21:

https://github.com/barbeau/android-maps-utils/commit/a5eecd7e7a4fc899ecd5eaeae6826414fefeae70

EDIT

tôi đã mở một vấn đề AOSP đây về vấn đề này:

https://code.google.com/p/android/issues/detail?id=190200

+0

Tôi có cùng một prob lem. Khá bực bội. –

+0

@BrianCunnie đồng ý - Tôi dự định mở một vấn đề về AOSP về điều này, chỉ cần không tìm thấy thời gian. Ngoài ra, FYI - dường như trình giả lập API cấp 22 cũng bị rối tung - https://code.google.com/p/android/issues/detail?id=176348&thanks=176348&ts=1433887196. –

+0

Ok, chỉ cần mở một vấn đề AOSP ở đây - https://code.google.com/p/android/issues/detail?id=190200. –

Trả lời

8

Câu trả lời ngắn

Android Gradle Plugin đã có một thời gian chờ hardcoded giá trị quá thấp.

Google cố định nó trong version 2.0.0-beta3:

Will be in 2.0.0-beta3.

So what do we put in build.gradle to set this timeout value?

Currently it's all attached to android.adbOptions.timeOutInMs.

mẫu: Dự án Google Increasing ADB timeoutadding Travis-ci support. Nó works!


phản ứng trước

Nó là same issue that has been reported here

Đọc workaround from the unity3 developer khoảng thời gian chờ hardcoded và thấp ở đây

saothe issue

Bạn đang đúng. Nó không phải là một vấn đề Travis-ci, để tái sản xuất nó, bạn chỉ cần tạo ra một giả lập armeabi-v7a và cố gắng cài đặt bất kỳ ứng dụng cục bộ từ lệnh gradle.

Thông tin thêm here, the update3 of my answer

Cập nhật:

Bạn có thể tránh được những installVariant nhiệm vụ và vấn đề này bằng adb:

./gradlew clean 
./gradlew assembleDebug 
./gradlew assembleDebugAndroidTest 
adb install app/build/outputs/apk/app-debug.apk 
adb install app/build/outputs/apk/app-debug-androidTest-unaligned.apk 
adb shell am instrument -w com.google.samples.apps.topeka.test/android.support.test.runner.AndroidJUnitRunner 

Nó hoạt động:

... 
:app:assembleDebugAndroidTest 

BUILD SUCCESSFUL 
Total time: 19.787 secs 
2413 KB/s (4204090 bytes in 1.701s) 
    pkg: /data/local/tmp/app-debug.apk 
Success 
1984 KB/s (1058902 bytes in 0.521s) 
    pkg: /data/local/tmp/app-debug-androidTest-unaligned.apk 
Success 

com.google.samples.apps.topeka.activity.SignInActivityTest:. 
com.google.samples.apps.topeka.activity.quiz.EntertainmentQuizTest:. 
com.google.samples.apps.topeka.activity.quiz.GeneralKnowledgeQuizTest:.. 
+0

Cảm ơn bạn đã liên kết với nhóm bản đồ repo @ardock – tasomaniac

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