Я не могу заставить команды Gradle из командной строки работать с изображением эмулятора API 23 Google API (Google APIs ARM (armeabi-v7a)
) - я всегда получаю com.android.ddmlib.ShellCommandUnresponsiveException
.
Шаги для воспроизведения:
- Создайте AVD с API 23
Google APIs ARM (armeabi-v7a)
- Clone https://github.com/googlemaps/android-maps-utils (или используйте собственный проект)
- Запустите
gradlew installDebug
из командной строки
Вы увидите:
: демо: assembleDebug: demo: installDebug FAILED
FAILURE: сбой сборки с исключением.
- Что пошло не так:
Ошибка выполнения для задачи: demo: installDebug '. com.android.builder.testing.api.DeviceException: com.android.ddmlib.ShellCommandUnresponsiveException
Если вы запустите gradlew connectedCheck
, вы увидите аналогичную ошибку:
- Что пошло не так: Выполнение не выполнено для задачи ': library: connectedDebugAndroidTest'. com.android.builder.testing.api.TestException: com.android.builder.testing.api.DeviceException: com.android.ddmlib.ShellCommandUnresponsiveException
I может без проблем установить и запустить проект и тесты из Android Studio (1.4).
КомандыGradle, похоже, отлично работают на изображении эмулятора API 21 Google API из командной строки.
Вот пример неудачи в Travis для API 23: Изображение эмулятора Google API:
https://travis-ci.org/barbeau/android-maps-utils/builds/83233500
... и пример успешной сборки при использовании образа эмулятора API 21 Google API:
https://travis-ci.org/barbeau/android-maps-utils/builds/83234555
Единственное различие между двумя сборками - уровень API-интерфейса API API API от 23 до 21:
https://github.com/barbeau/android-maps-utils/commit/a5eecd7e7a4fc899ecd5eaeae6826414fefeae70
ИЗМЕНИТЬ
Я открыл здесь проблему AOSP по этой проблеме: