appium/appium-uiautomator2-driver

Appium driver for Android UIAutomator2

Hosted by OpenJS Foundation · part of Linux Foundation

View on GitHub ↗Jump to charts ↓Open shareable report →

appium/appium-uiautomator2-driver has 850+ stars and 200+ forks on GitHub, is written in TypeScript, and was last pushed on Oct 16, 2026. Data as of . Signed-in members get hourly updates — create a free account.

Summary Information

Updated 2 hours ago
Added to GitGenius on October 15th, 2026
Created on September 1st, 2015
Open Issues & Pull Requests: 23 (+0)
GitHub issues: Enabled
Number of forks: 233
Total Stargazers: 887 (+0)
Total Subscribers: 39 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 4.7 hours
Mean response time: 8.7 days
90th percentile: 16.2 days
Tracked items: 53

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 18
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 487 days
Stale 30+ days: 18
Stale 90+ days: 17

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • question (1)
  • released (1)

Most active issues this week

Sign in to see which issues are moving.
Sign in

Detailed Description

Appium UiAutomator2 Driver is a WebDriver protocol implementation for automating Android applications on emulators and real devices.

The driver solves the problem of testing native, hybrid, and mobile web applications on Android by implementing the W3C WebDriver protocol with Android-specific extensions. It works by proxying most commands to the UiAutomator2 server, which leverages Google's UiAutomator framework, while delegating certain operations directly to appium-adb and other Android platform tools. This architecture allows tests written against the standard WebDriver interface to control Android devices without requiring deep knowledge of platform internals.

Teams should adopt this driver if they are building test automation for Android applications and want to use the Appium ecosystem. It suits projects that need to test across multiple Android API levels on both emulators and physical devices. The driver requires several prerequisites: Android SDK Platform tools, Java JDK, the ANDROID_HOME or ANDROID_SDK_ROOT environment variable set, and either an emulator with a platform image installed or a real device with USB debugging enabled. The minimum supported Android API level is 26 (Oreo), though earlier versions were supported in older driver releases. A built-in doctor command can validate most of these requirements and optional dependencies automatically.

The project maintains active development with regular updates addressing compatibility and feature requests. The codebase is written in TypeScript and integrates tightly with the broader Appium platform, requiring Appium 3 for recent versions. The driver's architecture is documented in detail, and the project provides clear guidance on environment setup and prerequisites, including version-specific Java requirements depending on the target Android SDK level.