OA

openatx/android-uiautomator-server-jar

Developer tools

Эта страница переведена автоматически. Технические детали смотрите в оригинале. Открыть оригинал

21 stars Качество 60 Тренд 30MIT

для github.com/openatx/uiautomator2

Обзор

UIAutomator - отличный инструмент для тестирования пользовательского интерфейса Android, но для этого вам нужно написать Java-код, скомпилировать его, установить банку и запустить. Это сложный шаг для всех тестировщиков. Этот проект состоит в том, чтобы построить легкий сервер jsonrpc в устройстве Android, чтобы мы могли просто писать боковой скрипт ПК для написания тестов UIAutomator. В Android Studio -> Строить -> Создание приложения Bundle/APK Построить APK Теперь файл apk можно найти в app/build/outputs/apk/debug/app-debug.apk Если порт не предоставляется, он по умолчанию 9008. Используйте -h, чтобы увидеть все варианты. adb forward tcp:9008 tcp:9008, Инструменты/методы.json AutomatorService.java , s AutomatorService.java s中s/61/s,s умение синхронизировать методы s。

Обзор (машинный перевод)

Английский | 中

Цель

UIAutomator является Отличный инструмент для тестирования пользовательского интерфейса Android, но для этого вам нужно написать java. Код, компиляция, установка банки и запуск. Это сложный шаг для всех Тестировщики…

Этот проект состоит в том, чтобы построить легкий сервер jsonrpc в устройстве Android. Мы можем просто написать сценарий для ПК, чтобы написать тесты UIAutomator.

Как строить

##Постройте АПК

Метод 1:

В Android Studio -> Build -> Build App Bundle/APK -> Build APK

Метод 2:

Теперь файл apk можно найти в app/build/outputs/apk/debug/app-debug.apk

##Установить APK

Идентификатор приложения com.github.uiautomator2. Установка APK требуется для использования метода ввода AdbKeyboard.

Запуск сервера

Если порт не предоставляется, он по умолчанию 9008. Используйте [6], чтобы увидеть все варианты.

Тестовый сервер

Тестовый инструмент JSON-RPC

Интерактивный скрипт JSON-RPC для быстрой отладки и проверки методов RPC.

Сценарий запускается adb forward tcp:9008 tcp:9008 автоматически, пересылка вручную не требуется.

Определения методов в tools/methods.json генерируются из интерфейса AutomatorService.java, включая имя, типы параметров, описание и примерные значения каждого метода.

Эта страница переведена автоматически. Технические детали смотрите в оригинале.

README

Показан фрагмент оригинального README. Открыть оригинал.

English | 简体中文

Purpose

UIAutomator is a great tool to perform Android UI testing, but to do it, you have to write java code, compile it, install the jar, and run. It’s a complex steps for all testers…

This project is to build a light weight jsonrpc server in Android device, so that we can just write PC side script to write UIAutomator tests.

How to build

Build APK

Method 1:

In Android Studio -> Build -> Build App Bundle/APK -> Build APK

Method 2:

./gradlew assembleDebug

Now apk file can be found in app/build/outputs/apk/debug/app-debug.apk

Install APK

adb install -r app/build/outputs/apk/debug/app-debug.apk

The application ID is com.github.uiautomator2. Installing the APK is required to use the bundled AdbKeyboard input method.

Launch Jar server

adb push app/build/outputs/apk/debug/app-debug.apk /data/local/tmp
adb shell CLASSPATH=/data/local/tmp/app-debug.apk app_process / com.github.uiautomator2.Console [-p port]

If no port is provided, it defaults to 9008. Use -h to see all options.

Test server

adb forward tcp:9008 tcp:9008
curl -X POST -d '{"jsonrpc": "2.0", "id": "1f0f2655716023254ed2b57ba4198815", "method": "deviceInfo", "params": {}}' 'http://127.0.0.1:9008/jsonrpc/0'
# Expect output like
{'currentPackageName': 'com.smartisanos.launcher',
 'displayHeight': 1920,
 'displayRotation': 0,
 'displaySizeDpX': 360,
 'displaySizeDpY': 640,
 'displayWidth': 1080,
 'productName': 'surabaya',
 'screenOn': True,
 'sdkInt': 23,
 'naturalOrientation': True}

JSON-RPC Test Tool

Interactive JSON-RPC script for quickly debugging and verifying RPC methods.

# Interactive mode (pick a method from categorized menus, enter params, see results)
python3 tools/test_jsonrpc.py

# Direct invocation
python3 tools/test_jsonrpc.py ping
python3 tools/test_jsonrpc.py click 100 200
python3 tools/test_jsonrpc.py dumpWindowHierarchy false

The script runs adb forward tcp:9008 tcp:9008 automatically, no manual forwarding needed.

Method definitions in tools/methods.json are generated from the AutomatorService.java interface, including the name, parameter types, description and example values of every method.

Sync methods.json

Whenever a method in AutomatorService.java is added, removed or changed, use the sync-methods skill to update tools/methods.json.

Ask the AI in opencode:

sync methods

The AI will parse the Java sources → extract every method → generate methods.json → validate the JSON.

The skill lives at .opencode/skills/sync-methods/SKILL.md. It is entirely AI driven and needs no extra scripts.

AdbKeyboard (ATX Keyboard)

Открыть полный README на GitHub

Рекомендуемые инструменты

Попробуйте другой запрос или уберите фильтр.

Установка

npx skillfish add openatx/android-uiautomator-server-jar
Новичок в MCP? Начните с руководства на mcpskill.org →