/ADBaaS

A small service that talks to Android ADB and Emulator using a HTTP API

Primary LanguageJavaGNU Lesser General Public License v3.0LGPL-3.0

ADB as a Service

ADB as a Service (ADBaaS) is a small service that talks to Android ADB, emulator and other Android SDK tools, and provides a HTTP(s) API.

  1. Why I created it?
  2. Features
  3. Requirements
  4. Running
  5. Configuration
  6. API Documentation
  7. Usage

Why

Why creating a small wrapper around ADB and other Android SDK tools? Why implementing a HTTP API? Because a HTTP API is easier to integrate with other softwares for performing tasks like:

  • Automated testings
  • Running apps (and tests) on several devices simultaneuosly
  • Sharing emulators and devices with multiple developers
  • Running apps on remote emulators to free up local resources

Features

  • List available emulators
  • List available devices and emulators
  • List applications installed on a device or emulator
  • Take a screenshot of the device or emulator (in PNG or Base64)
  • Install and uninstall an application
  • Revoke or grant permission on an application
  • Stream Logcat events in real time
  • HTTP(s) in all the endpoints
  • API access using API Key
  • API health monitoring

Requirements

  • ANDROID_HOME environment variable should be defined as defined in Android documentation

  • Java 11 or newer

Running

java -jar adbaas.jar

Configuration

  • Changing server port
java -Dserver.port=9090 -jar adbaas.jar
  • Setting allowed API Key
java -Dadbaas.api.keys.allowed=fa7166bd-eb36-4299-b04a-f91c7e2e907c -jar adbaas.jar

Documentation

API Doc:

External references