studio - testing android medium
Error de prueba de espresso: AppNotIdleException (2)
Apagué todas las animaciones en las opciones de desarrollador. Pero sigo recibiendo esta excepción cuando intento hacer clic en uno de los botones.
Mi aplicación es de hecho activa y no inactiva por completo, pero no puedo cambiarla.
android.support.test.espresso.AppNotIdleException: Looped for 6930
iterations over 60 SECONDS. The following Idle Conditions failed .
at dalvik.system.VMStack.getThreadStackTrace(Native Method)
at java.lang.Thread.getStackTrace(Thread.java:580)
at android.support.test.espresso.base.DefaultFailureHandler.getUserFriendlyError(DefaultFailureHandler.java:92)
at android.support.test.espresso.base.DefaultFailureHandler.handle(DefaultFailureHandler.java:56)
at android.support.test.espresso.ViewInteraction.runSynchronouslyOnUiThread(ViewInteraction.java:184)
at android.support.test.espresso.ViewInteraction.doPerform(ViewInteraction.java:115)
at android.support.test.espresso.ViewInteraction.perform(ViewInteraction.java:87)
He estado luchando con este problema durante los últimos días.
Aquí hay un método que utilicé para identificar a los "infractores":
private void dumpThreads() {
int activeCount = Thread.activeCount();
Thread[] threads = new Thread[activeCount];
Thread.enumerate(threads);
for (Thread thread : threads) {
System.err.println(thread.getName() + ": " + thread.getState());
for (StackTraceElement stackTraceElement : thread.getStackTrace()) {
System.err.println("/t" + stackTraceElement);
}
}
}
En mi caso, el SDK de Facebook estaba usando el grupo de subprocesos AsyncTask.
Según la answer de MaciejGórski a la pregunta similar:
Fue un error en el código de mi aplicación, donde
SwipeRefreshLayout
animó por tiempo indefinido. Debido a un error en este componente , el estado de actualización ni siquiera se mostraba.