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 |