Wenn ich Instrumentierungstests auf meinem lokalen Emulator durchführe, laufen sie 10 von 10 Malen perfekt, aber wenn ich versuche, die gleichen Tests auf einem AVD in Travis CI auszuführen, bekomme ich zufällig
FAILED java.lang.RuntimeException: Could not launch intent Intent { } within 45 seconds. Perhaps the main thread has not gone idle within a reasonable amount of time? There could be an animation or something constantly repainting the screen. Or the activity is doing network calls on creation? See the threaddump logs. For your reference the last time the event queue was idle before your activity launch request was xxxxxxx and now the last time the queue went idle was: xxxxxxxxx. If these numbers are the same your activity might be hogging the event queue.
Ich habe versucht, alle Fortschrittsbalken und alles andere zu entfernen, aber immer noch ein Problem, das nur zufällig und auf Travis passiert. Mein travis.yml sieht so aus:
%Vor% Wenn Sie android-wait-for-emulator
script verwenden möchten, entfernen -no-boot-anim
option it hängt von ab, um zu erkennen, wann der Emulator bereit ist.
Alternativ ersetzen Sie das Skript android-wait-for-emulator
durch eine feste Schlafzeit so:
Sie müssen die Ruhezeit basierend auf jeder API-Startdauer auswählen.
Tags und Links android travis-ci instrumentation android-avd