anbox-platform-sdk  1.10.0
Anbox Platform SDK API documentation
Anbox Platform SDK

Introduction

This document explains how to get started with Anbox Platform SDK. The first section has general background on Anbox Platform plugin, while the next section details how to build a Anbox Platform plugin (including compiling, building and testing on your system), and finally goes over how to deploy a plugin with the Anbox Cloud Platform.

Overview

Anbox is a container-based solution that runs a full Android system on a regular GNU/Linux system. While Anbox does not have direct access to any hardware resources, it provides an abstraction layer instead (also known as a "platform") which implements a programming interface between Android and the operating system for low level access to audio, keyboard, mouse, touch panel, gamepad and graphics hardware via OpenGL. Some platforms are implemented in Anbox itself, such as sdl, null, and external.

anbox_platform.png

Each platform must provide an implementation for the window system management, input event handling, audio data processing as well as OpenGL ES/EGL drivers loading. On Ubuntu, the SDK uses the sdl (https://www.libsdl.org/) platform for graphics display and audio playback. The external platform is primarily used for custom plugin integration. This SDK enables development of a custom platform plugin that extends the Anbox external platform with the following features:

  • Process the audio data that is passed by Anbox from the Android container for audio output.
  • Populate the audio data that is passed from platform plugin to Android container for audio input.
  • Deliver input events to the Android container.
  • Load a custom Open GL ES/EGL driver implementation.
  • Allow customization of the EGL surface creation.
  • Added hooks (begin frame, end frame) to inject custom logic within frame rendering.
  • Add a variety of sensors and deliver the sensor data to the Android container.
  • Adjust display setting such as screen orientation, density or size.
  • Send video frames to Android container and display them in a camera-based Android application.
  • Trigger an action script to be executed within Android container

Get Started