Anbox Cloud documentation

Anbox Cloud makes it possible to run Android apps in the cloud and supports all kinds of different use cases, including high-performance streaming of graphics to desktop and mobile client devices.

Using container technology, Anbox Cloud manages the application life cycle while optimising for high density, performance and fast container boot times. It is scalable from a single-machine installation that can run scores of single Android systems to an entire cluster of machines. Anbox Cloud supports x86 and Arm64 hardware, providing the same set of features for both architectures. Deploying the solution is simple and straightforward, and it is based on powerful and battle-proven software from Canonical like LXD and Juju.

Anbox Cloud uses system containers to emulate Android systems. This method results in an isolation and security level similar to virtual machines with an overhead as low as process containers. Therefore, Anbox Cloud can provide at least twice the container density compared to other Android emulation solutions, and can serve up to 100 Android instances per server.

You should consider using Anbox Cloud if you want to deliver mobile applications that don’t depend on the capabilities of your user’s devices and that offload compute, storage and energy-intensive applications from the end device to the cloud. Typical use cases include mobile game streaming services, corporate application streaming, application automation and Android application testing.

Tutorials
Get started - a hands-on introduction to Anbox Cloud for new users
How-to guides
Step-by-step guides covering key operations and common tasks
Explanation
Concepts - discussion and clarification of key topics, architecture
Reference
Technical information - specifications, APIs

What’s new

Along with bug fixes and general improvements, Anbox Cloud 1.18 includes the following changes:

  • Streaming improvements
  • Support for the Android container to use a custom Android ID
  • Updated Mesa driver
  • Various dashboard improvements

For detailed information, see the Release notes.

Project and community

Anbox Cloud is a Canonical product. It originally grew out of the Anbox open-source project, but its code base is now completely independent.

Thinking about using Anbox Cloud for your next project? Get in touch!

Navigation

Navigation
Level Path Navlink
0 / Anbox Cloud documentation
0
1 tut/landing Tutorials
2 tut/installing-appliance Install the appliance
2 tut/getting-started-dashboard Get started (web dashboard)
2 tut/getting-started Get started (CLI)
2 tut/creating-addon Create an addon
0
1 howto/landing How-to guides
2 howto/install/landing Install Anbox Cloud
3 howto/install/deploy-juju Deploy with Juju
3 howto/install/deploy-bare-metal Deploy on bare metal
3 howto/install/customise Customise the installation
3 howto/install/high-availability Enable High Availability
3 howto/install/validate Validate the deployment
2 howto/install-appliance/landing Install the appliance
3 howto/install-appliance/aws Install on AWS
3 howto/install-appliance/azure Install on Azure
3 howto/install-appliance/finalise Finalise the installation
2 howto/update/landing Update an installation
3 howto/update/control Control updates
3 howto/update/upgrade-appliance Upgrade the appliance
3 howto/update/upgrade-anbox Upgrade Anbox Cloud
2 howto/manage/landing Manage Anbox Cloud
3 howto/manage/manage-appliance Manage the appliance
3 howto/manage/tls-for-appliance Set up TLS for appliance
3 howto/manage/web-dashboard Use the web dashboard
3 howto/manage/images Manage images
3 howto/manage/logs View logs
3 howto/manage/ams-access Control AMS remotely
3 howto/manage/benchmarks Run benchmarks
3 howto/manage/resize-storage Resize LXD storage
2 howto/application/landing Manage applications
3 howto/application/create Create an application
3 howto/application/wait Wait for an application
3 howto/application/update Update an application
3 howto/application/resources Configure available resources
3 howto/application/delete Delete an application
3 howto/application/list List applications
3 howto/aar/deploy Deploy an AAR
3 howto/aar/configure Configure an AAR
3 howto/aar/revoke Revoke an AAR client
3 howto/application/test Test your application
3 howto/application/virtual-devices Create a virtual device
3 howto/application/extend Extend an application
3 howto/application/userdata Pass custom data
2 howto/port/landing Port Android apps
3 howto/port/permissions Grant permissions
3 howto/port/architecture Choose APK architecture
3 howto/port/obb-files Port APKs with OBB files
3 howto/port/configure-watchdog Configure the watchdog
3 howto/port/install-system-app Install APK as a system app
2 howto/container/landing Work with containers
3 howto/container/create Create a container
3 howto/container/start Start a container
3 howto/container/wait Wait for a container
3 howto/container/access Access a container
3 howto/container/expose-services Expose services
3 howto/container/logs View the container logs
3 howto/container/stop Stop a container
3 howto/container/delete Delete a container
3 howto/container/list List containers
3 howto/container/geographic-location Configure geographic location
3 howto/container/backup-and-restore Back up and restore application data
2 howto/addons/landing Use addons
3 howto/addons/enable-globally Enable globally
3 howto/addons/update Update addons
3 howto/addons/migrate Migrate from previous versions
3 howto/addons/install-tools Example: Install tools
3 howto/addons/backup-and-restore Example: Back up data
3 howto/addons/customise-android Example: Customise Android
3 howto/addons/emulate-platforms Example: Emulate platforms
3 howto/addons/best-practices Best practices
2 howto/monitor/landing Monitor Anbox Cloud
3 howto/monitor/telegraf Configure Telegraf
3 howto/monitor/collect-metrics Example: Collect metrics
3 howto/monitor/monitor-status Example: Monitor status
2 howto/stream/landing Implement streaming
3 howto/stream/access Access the stream gateway
3 howto/stream/web-client Implement a web-based client
3 howto/stream/oob-data Exchange OOB data
3 howto/stream/client-side-keyboard Use a client-side keyboard
2 howto/cluster/landing Manage the cluster
3 howto/cluster/appliance Join a machine to the appliance
3 howto/cluster/configure-nodes Configure cluster nodes
3 howto/cluster/scale-up Scale up a LXD cluster
3 howto/cluster/scale-down Scale down a LXD cluster
2 howto/anbox/landing Work with the Anbox runtime
3 howto/anbox/develop-platform Develop a platform plugin
2 howto/troubleshoot/landing Troubleshoot Anbox Cloud
3 howto/troubleshoot/initial-setup Troubleshoot initial setup
3 howto/troubleshoot/application-creation Troubleshoot application creation
3 howto/troubleshoot/container-failures Troubleshoot container failures
3 howto/troubleshoot/lxd-cluster Troubleshoot LXD cluster
3 howto/troubleshoot/streaming-issues Troubleshoot streaming issues
0
1 ref/landing Reference
2 ref/provided-images Provided images
2 ref/android-features Supported Android features
2 ref/sdks Anbox Cloud SDKs
2 ref/api-reference API reference
3 ref/ams-http-api AMS HTTP API
3 ref/anbox-https-api Anbox HTTP API
3 ref/anbox-stream-gateway Stream Gateway API
3 ref/anbox-platform-sdk-api Anbox Platform SDK API
2 ref/instance-types Instance types
2 ref/platforms Anbox platforms
2 ref/prometheus Prometheus metrics
2 ref/ams-configuration AMS configuration
2 ref/application-manifest Application manifest
2 ref/network-ports Network ports
2 ref/addons Addons
2 ref/hooks Hooks
2 ref/perf-benchmarks Performance benchmarks
2 ref/webrtc-streamer WebRTC streamer
2 ref/lxd-docs LXD documentation
2 ref/glossary Glossary
0
1 exp/landing Explanation
2 exp/anbox-cloud Anbox Cloud
2 exp/ams AMS
2 exp/aar AAR
2 exp/application-streaming Application streaming
2 exp/rendering-architecture Rendering architecture
2 exp/applications Applications
2 exp/containers Containers
2 exp/clustering Clustering
2 exp/performance Performance
2 exp/production Production planning
2 exp/capacity-planning Capacity planning
2 exp/gpu-support GPU support
2 exp/security Security
0
1 anbox/landing About the project
2 requirements Requirements
2 release-notes Release notes
2 roadmap Release roadmap
2 supported-versions Supported versions
2 component-versions Component versions

Redirects

Mapping table
Path Location
/docs/install-appliance /docs/tut/installing-appliance
/docs/lxd-auto-scaling /docs/exp/clustering
/docs/usage/usecase-streaming-sdk /docs/ref/sdks
/docs/reference/ams-sdk-api-reference /docs/ref/sdks
/docs/installation/installation-appliance /docs/tut/installing-appliance
/docs/manage/getting-started /docs/tut/getting-started
/docs/installation/installation-quickstart /docs/howto/install/deploy-juju
/docs/installation/installation-customizing /docs/howto/install/customise
/docs/installation/high-availability /docs/howto/install/high-availability
/docs/installation/validation /docs/howto/install/validate
/docs/installation/upgrading-from-previous-versions /docs/howto/update/upgrade-anbox
/docs/howto/manage/managing-images /docs/howto/manage/images
/docs/howto/manage/managing-addons /docs/howto/addons/landing
/docs/howto/manage/managing-logs /docs/howto/manage/logs
/docs/howto/manage/managing-ams-access /docs/howto/manage/ams-access
/docs/manage/managing-ams-access /docs/howto/manage/ams-access
/docs/installation/installation-application-registry /docs/howto/aar/deploy
/docs/usage/usecase-application-testing /docs/howto/application/test
/docs/usage/usecase-virtual-devices /docs/howto/application/virtual-devices
/docs/manage/container-access /docs/howto/container/access
/docs/howto/container/view-log /docs/howto/container/logs
/docs/usage/usecase-container-configuration /docs/howto/container/geographic-location
/docs/howto/containers/backup-and-restore /docs/howto/container/backup-and-restore
/docs/monitoring/monitoring-installation /docs/howto/monitor/landing
/docs/howto/monitor/install /docs/howto/monitor/landing
/docs/monitoring/monitoring-grafana /docs/howto/monitor/grafana
/docs/monitoring/monitoring-nagios /docs/howto/monitor/nagios
/docs/implement-android-native-streaming-client /docs/howto/stream/native-client
/docs/implement-web-based-streaming-client /docs/howto/stream/web-client
/docs/exchange-out-of-band-data /docs/howto/stream/oob-data
/docs/integrate-keyboard /docs/howto/stream/client-side-keyboard
/docs/faq /docs/howto/troubleshoot/landing
/docs/howto/troubleshoot/collect-info /docs/howto/troubleshoot/landing
/docs/sdks /docs/ref/sdks
/docs/reference/ams-rest-api-reference /docs/ref/ams-http-api
/docs/reference/anbox-http-api-reference /docs/ref/anbox-https-api
/docs/reference/anbox-stream-gateway-reference /docs/ref/anbox-stream-gateway
/docs/manage/instance-types-reference /docs/ref/instance-types
/docs/reference/anbox-platforms /docs/ref/platforms
/docs/reference/prometheus-metrics /docs/ref/prometheus
/docs/ams-configuration /docs/ref/ams-configuration
/docs/overview /docs/exp/anbox-cloud
/docs/manage/managing-applications /docs/exp/applications
/docs/manage/managing-addons /docs/howto/addons/landing
/docs/manage/application-registry /docs/exp/aar
/docs/manage/managing-containers /docs/exp/containers
/docs/manage/capacity-planning /docs/exp/clustering
/docs/manage/gpu-support /docs/exp/gpu-support
/docs/manage/benchmarking-a-deployment /docs/exp/benchmarking
/docs/manage/streaming-android-applications /docs/exp/application-streaming
/docs/usage/usecase-port-android-application-to-anbox-cloud /docs/exp/porting-issues
/docs/installation/installation-requirements /docs/requirements
/docs/exp/porting-issues /docs/howto/port/landing
/docs/exp/benchmarking /docs/howto/manage/benchmarks
/docs/changelog /docs/release-notes
/docs/howto/monitor/grafana /docs/howto/monitor/collect-metrics
/docs/howto/monitor/nagios /docs/howto/monitor/monitor-status
/docs/howto/container/launch /docs/howto/container/create
/docs/howto/stream/debug /docs/howto/troubleshoot/streaming-issues