# appium-uiautomator2-server

> A netty server with uiautomator2 handlers

Latest version **10.7.0** (published 2026-10-06) · Apache-2.0 license · 0 weekly downloads

## Install

```sh
npm install appium-uiautomator2-server
pnpm add appium-uiautomator2-server
yarn add appium-uiautomator2-server
bun add appium-uiautomator2-server
```

## Health

**Score 70/100 (B)** — status: active.

Positive: has types; esm support; no vulnerabilities; has provenance; recently updated; high maintenance score.

Warnings: low downloads; large bundle.

## Facts

| | |
|---|---|
| Version | 10.7.0 |
| Published | 2026-10-06 |
| First published | 2016-10-01 |
| Weekly downloads | 0 |
| License | Apache-2.0 |
| TypeScript types | bundled |
| Module format | ESM + CommonJS |
| Node | ^20.19.0 \|\| ^22.12.0 \|\| >=24.0.0 |
| Dependencies | 0 |
| Unpacked size | 17.5 MB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Provenance | attested (GitHub Actions) |
| GitHub stars | 411 |
| Author | Appium Contributors |
| Maintainers | jlipps, nick.mokhnach, kazucocoa, imurchie, sravanmedarapu, anandsadu, dangraham |
| Keywords | android, appium, uiautomator2 |

## Links

- npm: https://www.npmjs.com/package/appium-uiautomator2-server
- Repository: https://github.com/appium/appium-android
- Homepage: https://appium.io
- Issues: https://github.com/appium/appium-android/issues
- npm.io page: https://npm.io/package/appium-uiautomator2-server

## Alternatives

- [@sindresorhus/slugify](https://npm.io/package/@sindresorhus/slugify.md) — 3.7M weekly downloads
- [solid-js](https://npm.io/package/solid-js.md) — 2.7M weekly downloads
- [expo-glass-effect](https://npm.io/package/expo-glass-effect.md) — 2.5M weekly downloads
- [nanoassert](https://npm.io/package/nanoassert.md) — 780.8K weekly downloads
- [@ffmpeg/ffmpeg](https://npm.io/package/@ffmpeg/ffmpeg.md) — 529.5K weekly downloads

## Recent versions

- 10.7.0 (latest) — 2026-10-06
- 0.0.1 (beta) — 2016-10-01
- 10.6.6 — 2026-09-10
- 10.6.5 — 2026-09-10
- 10.6.4 — 2026-09-05
- 10.6.3 — 2026-09-05
- 10.6.2 — 2026-08-14
- 10.6.1 — 2026-08-13
- 10.6.0 — 2026-08-12
- 10.5.0 — 2026-08-12
- 10.4.0 — 2026-08-10
- 10.3.5 — 2026-07-28
- 10.3.4 — 2026-07-24
- 10.3.3 — 2026-07-23
- 10.3.2 — 2026-07-03
- … 302 more at https://npm.io/package/appium-uiautomator2-server/versions

## README

# appium-uiautomator2-server

[![NPM version](http://img.shields.io/npm/v/appium-uiautomator2-server.svg)](https://npmjs.org/package/appium-uiautomator2-server)
[![Downloads](http://img.shields.io/npm/dm/appium-uiautomator2-server.svg)](https://npmjs.org/package/appium-uiautomator2-server)

A netty server that runs on the device listening for commands and executes using UiAutomator V2.

## building project

build the android project using below commands

`./gradlew clean assembleServerDebug assembleServerDebugAndroidTest`

You can also build with specific version name and version code using this command.
`./gradlew -PversionName=8.0.0 -PversionCode=300 clean assembleServerDebug assembleServerDebugAndroidTest`

## Starting server

push both src and test apks to the device and execute the instrumentation tests.

`adb shell am instrument -w io.appium.uiautomator2.server.test/androidx.test.runner.AndroidJUnitRunner`

## run unitTest

build the unitTest flavor using the below commands

`./gradlew clean assembleE2ETestDebug assembleE2ETestDebugAndroidTest`

unitTest flavor contains tests for handlers and can be invoked by using following command

`./gradlew clean connectedE2ETestDebugAndroidTest`

the above command takes care about installing the AUT apk in to the testing device/emulator before running the tests.

you can also invoke the test using below command

`adb shell am instrument -w io.appium.uiautomator2.e2etest.test/androidx.test.runner.AndroidJUnitRunner`

Note: AUT apk should be installed before executing above command.

## Development tests

Server JVM unit tests (including XPath 2.0 selector coverage) and the vendored PsychoPath processor suite:

```bash
npm run test:android          # rebuilds vendor JAR, runs app unit tests
npm run test:vendor-xpath2    # runs upstream XPath2 processor tests
```

The XPath 2.0 engine is vendored from Eclipse WTP; see [`vendor/README.md`](vendor/README.md) for build details, local patches, and troubleshooting.

## Releases

Versioned and published by Lerna together with the other monorepo packages (Conventional Commits). The version bump syncs `gradle.properties` (`versionName` / `versionCode`); `prepublishOnly` builds and signs the APKs, and the release workflow attaches them to the GitHub release.

## Other Sections

* [WIKI](https://github.com/appium/appium-uiautomator2-server/wiki)
* [Vendored dependencies](vendor/README.md)

---
_Source: https://npm.io/package/appium-uiautomator2-server · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
