Google Fabric: UiAutomation не подключен

После развертывания приложения в бета-версии Google Play я вижу следующую проблему в Crashlytics (затронуты 6-7 пользователей)

Fatal Exception: java.lang.IllegalStateException: UiAutomation not connected!
   at android.app.UiAutomation.throwIfNotConnectedLocked(UiAutomation.java:971)
   at android.app.UiAutomation.disconnect(UiAutomation.java:237)
   at android.app.Instrumentation.finish(Instrumentation.java:222)
   at android.support.test.runner.MonitoringInstrumentation.finish(MonitoringInstrumentation.java:351)
   at android.support.test.runner.AndroidJUnitRunner.finish(AndroidJUnitRunner.java:405)
   at android.support.test.runner.AndroidJUnitRunner.onStart(AndroidJUnitRunner.java:394)
   at android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:1960)

Кажется, что это google test devices. Любые идеи об исправлении?

Ответы

Ответ 1

Кажется, что этот сбой связан с тестированием пользовательского интерфейса в вашем приложении. Если у вас нет какого-либо тестирования пользовательского интерфейса, и есть только настройки по умолчанию, которые автоматически добавляются при создании проекта, вы должны удалить из своей сборки .gradle строку testInstrumentationRunner в defaultConfig

  defaultConfig {
   ....
   testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
} 

и androidTestCompile, testCompile в зависимостях

dependencies {
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', 
{
    exclude group: 'com.android.support', module: 'support-annotations'
})
testCompile 'junit:junit:4.12'
...

Ответ 2

Кажется, не о чем беспокоиться (не полагайтесь на принятый ответ и не удаляйте ваши тесты;)), потому что сообщалось о сбоях при создании предварительного отчета для магазина Google Play, в котором были выполнены некоторые тесты автоматизации пользовательского интерфейса. Если вы отслеживаете устройства, на которых произошла эта ошибка - вы увидите, что все пути ведут к предварительному отчету.

Вы можете узнать больше о предстартовом отчете здесь

Ответ 3

Одно можно сказать наверняка: у вас есть проблемы с пользовательским интерфейсом. В большинстве случаев это происходит, когда вы отображаете диалог прогресса, который отображается слишком долго. В этом случае сканер Google уходит в тайм-аут и выдает исключение. Мой совет: не забывайте блокировать пользовательский интерфейс с бесконечными диалогами.