Espresso
Espresso is Google's official UI test automation framework for native Android apps, known for automatically synchronizing with the app's UI thread — waiting for the app to be idle before each action — which largely eliminates the manual wait-handling that plagues many other UI automation tools.
Espresso's core design insight is built-in synchronization: rather than a test author manually inserting waits or sleeps, Espresso automatically blocks until the app's main thread is idle and any pending background work (animations, async operations queued on recognized thread pools) completes, before proceeding to the next action.
Because it's built directly into the Android tooling and runs in-process with the app under test, Espresso tests execute fast and reliably compared to tools driving the app externally — the tradeoff is that it's Android-only and requires the test code to be compiled alongside the app, unlike a fully external tool like Appium.