{"id":13434749,"url":"https://github.com/anbox/anbox","last_synced_at":"2025-09-29T00:32:37.910Z","repository":{"id":37821716,"uuid":"82766831","full_name":"anbox/anbox","owner":"anbox","description":"Anbox is a container-based approach to boot a full Android system on a regular GNU/Linux system ","archived":true,"fork":false,"pushed_at":"2024-02-06T22:17:24.000Z","size":7063,"stargazers_count":8944,"open_issues_count":380,"forks_count":1160,"subscribers_count":217,"default_branch":"master","last_synced_at":"2025-01-18T22:38:48.925Z","etag":null,"topics":["anbox","android","linux","snap"],"latest_commit_sha":null,"homepage":"https://anbox.io","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/anbox.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"COPYING.GPL","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":"AUTHORS","dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-02-22T05:59:40.000Z","updated_at":"2025-01-18T09:17:17.000Z","dependencies_parsed_at":"2023-10-20T17:04:54.663Z","dependency_job_id":"f2da486f-12cc-4b6d-a35e-c6112e4819c8","html_url":"https://github.com/anbox/anbox","commit_stats":{"total_commits":932,"total_committers":92,"mean_commits":"10.130434782608695","dds":0.3315450643776824,"last_synced_commit":"ddf4c57ebbe3a2e46099087570898ab5c1e1f279"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/anbox/anbox","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anbox%2Fanbox","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anbox%2Fanbox/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anbox%2Fanbox/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anbox%2Fanbox/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/anbox","download_url":"https://codeload.github.com/anbox/anbox/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anbox%2Fanbox/sbom","scorecard":{"id":191443,"data":{"date":"2025-08-11","repo":{"name":"github.com/anbox/anbox","commit":"ddf4c57ebbe3a2e46099087570898ab5c1e1f279"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":4.6,"checks":[{"name":"Code-Review","score":8,"reason":"Found 14/16 approved changesets -- score normalized to 8","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/main.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Maintained","score":0,"reason":"project is archived","details":["Warn: Repository is archived."],"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: COPYING.GPL:0","Info: FSF or OSI recognized license: GNU General Public License v3.0: COPYING.GPL:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/main.yml:13: update your workflow using https://app.stepsecurity.io/secureworkflow/anbox/anbox/main.yml/master?enable=pin","Warn: containerImage not pinned by hash: Dockerfile:1: pin your Docker image by updating ubuntu:20.04 to ubuntu:20.04@sha256:8feb4d8ca5354def3d8fce243717141ce31e2c428701f6682bd2fafe15388214","Info:   0 out of   1 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   1 containerImage dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 30 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-16T20:46:59.801Z","repository_id":37821716,"created_at":"2025-08-16T20:46:59.802Z","updated_at":"2025-08-16T20:46:59.802Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":277450939,"owners_count":25819971,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-28T02:00:08.834Z","response_time":79,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["anbox","android","linux","snap"],"created_at":"2024-07-31T03:00:22.048Z","updated_at":"2025-09-29T00:32:37.440Z","avatar_url":"https://github.com/anbox.png","language":"C++","readme":"## IMPORTANT - Hi there 👋\n\n\nThe Anbox project [was once ago created in 2017](https://www.omgubuntu.co.uk/2017/04/android-apps-linux-desktop-anbox) to bring Android to any Linux based desktop operating system. It's development has however stalled in the past years and it's only fair to say that now in 2023 it's no longer actively developed.\n\nIn the past years new alternatives have came up which are carrying the same idea of a containerized Android forward:\n\nIf you're looking for a solution to run Android on your Linux desktop:\n\n* [Waydroid](https://waydro.id/) is rebuilding the original idea behind Anbox with explicit focus on modern [Wayland](https://wayland.freedesktop.org/) powered desktop environments.\n\nIf you're looking for a solution to run Android in the cloud:\n\n* [Anbox Cloud](https://anbox-cloud.io) as a solution developed by [Canonical](https://canonical.com), the company behind [Ubuntu](https://ubuntu.com), to bring Android at scale to any cloud with support for ultra low latency video streaming and recent Android versions.\n\nThe existing repositories will remain as is but no active maintence will be applied going forward.\n\n*Thank you all for your support!*\n\n----\n\n# Anbox\n\nAnbox is a container-based approach to boot a full Android system on a\nregular GNU/Linux system like Ubuntu. In other words: Anbox will let\nyou run Android on your Linux system without the slowness of\nvirtualization.\n\n## Overview\n\nAnbox uses Linux namespaces (user, pid, uts, net, mount, ipc) to run a\nfull Android system in a container and provide Android applications on\nany GNU/Linux-based platform.\n\nThe Android inside the container has no direct access to any hardware.\nAll hardware access is going through the anbox daemon on the host. We're\nreusing what Android implemented within the QEMU-based emulator for OpenGL\nES accelerated rendering. The Android system inside the container uses\ndifferent pipes to communicate with the host system and sends all hardware\naccess commands through these.\n\nFor more details have a look at the following documentation pages:\n\n * [Android Hardware OpenGL ES emulation design overview](https://android.googlesource.com/platform/external/qemu/+/emu-master-dev/android/android-emugl/DESIGN)\n * [Android QEMU fast pipes](https://android.googlesource.com/platform/external/qemu/+/emu-master-dev/android/docs/ANDROID-QEMU-PIPE.TXT)\n * [The Android \"qemud\" multiplexing daemon](https://android.googlesource.com/platform/external/qemu/+/emu-master-dev/android/docs/ANDROID-QEMUD.TXT)\n * [Android qemud services](https://android.googlesource.com/platform/external/qemu/+/emu-master-dev/android/docs/ANDROID-QEMUD-SERVICES.TXT)\n\nAnbox is currently suited for the desktop use case but can be used on mobile\noperating systems like [Ubuntu Touch](https://ubuntu-touch.io/) or\n[postmarketOS](https://postmarketos.org)\n([installation instructions](https://wiki.postmarketos.org/wiki/Anbox)).\nHowever this is still a work in progress.\n\nThe Android runtime environment ships with a minimal customized Android system\nimage based on the [Android Open Source Project](https://source.android.com/).\nThe used image is currently based on Android 7.1.1\n\n## Installation\n\nSee our [installation instructions](docs/install.md) for details.\n\n## Supported Linux Distributions\n\nAt the moment we officially support the following Linux distributions:\n\n * Ubuntu 18.04 (bionic)\n * Ubuntu 20.04 (focal)\n\nHowever all other distributions supporting snap packages should work as\nwell as long as they provide the mandatory kernel support (see [documentation](docs/install.md)).\n\n## Install and Run Android Applications\n\nYou can install Android applications from the command line using adb.\n\n```sh\nadb install xyz.apk\n```\n\nThe apk files you will sometimes find on the internet tend to only have arm\nsupport, and will therefore not work on x86\\_64.\n\nYou may want to install [F-Droid](https://f-droid.org/) to get applications\ngraphically. Note that the Google Play Store will not work as is, because it\nrelies on the proprietary Google Play Services, which are not installed.\n\n## Build from source\n\n### Requirements\n\nTo build the Anbox runtime itself there is nothing special to know. We're using\ncmake as build system. A few build dependencies need to be present on your host\nsystem:\n\n * libdbus\n * google-mock\n * google-test\n * libboost\n * libboost-filesystem\n * libboost-log\n * libboost-iostreams\n * libboost-program-options\n * libboost-system\n * libboost-test\n * libboost-thread\n * libcap\n * libexpat1-dev\n * libsystemd\n * mesa (libegl1, libgles2)\n * libglm\n * libsdl2\n * libprotobuf\n * protobuf-compiler\n * python3\n * lxc (\u003e= 3.0)\n\nOn an Ubuntu system you can install all build dependencies with the following\ncommand:\n\n```\n$ sudo apt install build-essential cmake cmake-data debhelper dbus google-mock \\\n    libboost-dev libboost-filesystem-dev libboost-log-dev libboost-iostreams-dev \\\n    libboost-program-options-dev libboost-system-dev libboost-test-dev \\\n    libboost-thread-dev libcap-dev libexpat1-dev libsystemd-dev libegl1-mesa-dev \\\n    libgles2-mesa-dev libglm-dev libgtest-dev liblxc1 \\\n    libproperties-cpp-dev libprotobuf-dev libsdl2-dev libsdl2-image-dev lxc-dev \\\n    pkg-config protobuf-compiler python3-minimal\n```\nWe recommend Ubuntu 20.04 (focal) as your build environment.\n\n\n### Build\n\nAfterwards you can build Anbox with\n\n```\n$ git clone https://github.com/anbox/anbox.git --recurse-submodules\n$ cd anbox\n$ mkdir build\n$ cd build\n$ cmake ..\n$ make\n```\n\nA simple\n\n```\n$ sudo make install\n```\n\nwill install the necessary bits into your system.\n\nIf you want to build the anbox snap instead you can do this with the following\nsteps:\n\n```\n$ ARCH=$(uname -m)\n$ cp /path/to/android.img data/android-images/android-$ARCH.img\n$ snapcraft\n```\n\nThe result will be a .snap file you can install on a system supporting snaps\n\n```\n$ snap install --dangerous --devmode anbox_1_amd64.snap\n```\n\n## Run Anbox\n\nRunning Anbox from a local build requires a few more things you need to know\nabout. Please have a look at the [\"Runtime Setup\"](docs/runtime-setup.md)\ndocumentation.\n\n## Documentation\n\nYou will find additional documentation for Anbox in the *docs* subdirectory\nof the project source.\n\nInteresting things to have a look at\n\n * [Runtime Setup](docs/runtime-setup.md)\n * [Build Android image](docs/build-android.md)\n * [Generate Android emugl source](docs/generate-emugl-source.md)\n * [DBUS interface](docs/dbus.md)\n\n## Reporting bugs\n\nIf you have found an issue with Anbox, please [file a bug](https://github.com/anbox/anbox/issues/new).\n\n## Get in Touch\n\nIf you want to get in contact with the developers please feel free to join the\n*#anbox* IRC channel on [Libera.Chat](https://libera.chat).\n\n## Copyright and Licensing\n\nAnbox reuses code from other projects like the Android QEMU emulator. These\nprojects are available in the external/ subdirectory with the licensing terms\nincluded.\n\nThe Anbox source itself, if not stated differently in the relevant source files,\nis licensed under the terms of the GPLv3 license.\n","funding_links":[],"categories":["HarmonyOS","C++","Applications","\u003ca name=\"cpp\"\u003e\u003c/a\u003eC++","C++ (225)","应用","Virtualization","\u003ca id=\"2110ded2aa5637fa933cc674bc33bf21\"\u003e\u003c/a\u003e工具"],"sub_categories":["Windows Manager","Development","开发","Books","\u003ca id=\"63fd2c592145914e99f837cecdc5a67c\"\u003e\u003c/a\u003e新添加的1"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fanbox%2Fanbox","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fanbox%2Fanbox","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fanbox%2Fanbox/lists"}