如何使用 Anbox 在 Linux 上运行 Android 应用程序 |
拥有一个拥有您所需的大部分产品的一站式商店可以为您节省大量的移动和时间,并为您带来良好的便利感。你知道这个故事。您可以挑选并购买大部分(如果不是全部)带到商店的东西。这可能有些牵强,但给出的示例可以应用于您的 Linux 操作系统。如何?你可能会问。那么,如何将所有 Android 应用程序与您最喜爱的桌面应用程序放在同一位置呢?这可能是令人惊奇的,至少对我来说。
一个名为 Anbox 的开源工具可以使这种可能性成为现实。 Anbox将Android操作系统放入容器中,抽象硬件访问,并将核心系统服务集成到GNU/Linux系统中。每个 Android 应用程序都将像任何其他本机应用程序一样与您的操作系统集成。
Anbox 使用容器 (LXC) 等标准 Linux 技术将 Android 操作系统与主机分离。任何 Android 版本都适合这种方法,并且它会尝试跟上 Android 开源项目的最新可用版本。来源:Anbox网站
安盒的特点
- 开源:整个源代码均可用,并根据 Apache 和 GPLv3 许可证条款获得许可。
- 无限制:由于 Anbox 运行整个 Android 系统,因此从概念上讲,任何应用程序都可以运行。
- 安全:Anbox 将 Android 应用程序放入密封的盒子中,无需直接访问硬件或数据。
- 高性能:无需硬件虚拟化即可运行 Android,并无缝桥接硬件加速功能。
- 集成:与主机操作系统紧密集成,提供丰富的功能集。
- 融合:Anbox 可以像 Android 一样跨不同的外形尺寸进行扩展。它适用于笔记本电脑和手机。
如何在 Linux 上安装 Antbox
要安装 Anbox,您的系统需要支持 snap。要快速了解 snap,请访问 snapcraft.io 以了解 snap 是什么、如何在您的发行版上安装和支持它们以及如何使用它们。
为了在您的系统上安装 Anbox,我们将执行两个步骤,即:
- 安装必要的内核模块(ashmem和binder)
- Anbox snap 的安装
在此示例中,我们将在 Ubuntu 20.04 (Focal Fossa) 桌面版上安装 Anbox。
第 1 步:更新并安装必要工具
进入新 Ubuntu 桌面的终端后,更新它并安装我们将在安装过程中使用的基本工具
sudo apt update && sudo apt upgrade -y
sudo apt install android-tools-adb git curl unzip -y
第2步:安装ashmem和binder内核模块
我们需要在系统上安装 dkms 和 linux-headers ,然后我们将继续从 Git 克隆模块并安装它们。请跟随。
sudo apt install dkms linux-headers-generic -y
cd ~
git clone https://github.com/anbox/anbox-modules.git
安装配置文件:
cd ~/anbox-modules
sudo cp anbox.conf /etc/modules-load.d/
sudo cp 99-anbox.rules /lib/udev/rules.d/
接下来,将模块源复制到 /usr/src/:
sudo cp -rT ashmem /usr/src/anbox-ashmem-1
sudo cp -rT binder /usr/src/anbox-binder-1
最后使用 dkms 构建并安装:
sudo dkms install anbox-ashmem/1
sudo dkms install anbox-binder/1
anbox 内核模块现已安装,但我们并没有就此停止。接下来,我们必须手动加载内核模块,不用担心,下次系统启动时它们会自动加载。
sudo modprobe ashmem_linux
sudo modprobe binder_linux
使用以下三种方法之一确认您的系统中有两个新模块。
$ lsmod | grep -e ashmem_linux -e binder_linux
## You should see an output like:
binder_linux 110592 0
ashmem_linux 16384 0
$ ls -alh /dev/binder /dev/ashmem
## You should see an output like:
crw------- 1 root root 10, 58 Aug 3 21:43 /dev/ashmem
crw------- 1 root root 511, 0 Aug 3 21:43 /dev/binder
$ ls -1 /dev/{ashmem,binder}
## You should see an output like:
/dev/ashmem
/dev/binder
第三步:安装anbox
在此步骤中,我们将从商店安装 Anbox snap,它将为您提供运行完整 Anbox 体验所需的一切。让你通过运行以下命令来安装它:
$ sudo snap install --devmode --edge anbox
anbox (edge) 4+gitrad377ff from Simon Fels (morphis) installed
在我们开始在 Linux 上使用 Android 应用程序之前,请给上面的命令一些时间来完成它。
Anbox启动
Anbox默认应用程序
目前,anbox 团队需要使用 –devmode,因为 Anbox snap 尚未完全受限。上游 snapd 项目的工作已经开始,以获得对完全限制的支持。作为使用 –devmode 的副作用,快照不会自动更新。为了更新到较新的版本,您可以运行:
snap refresh --beta --devmode anbox
第4步:在Anbox上安装Android应用程序
Anbox 并未预装 Google Play 商店。话虽这么说,我们必须找到替代方法来安装我们的应用程序,其中一种方法是通过 Android 调试桥(ADB)。我们需要 Android 调试桥 (ADB) 来手动将 Android APK 推送到 Anbox 中的虚拟 Android 安装。我们已经在第 1 步中安装了 ADB。
此外,您可能已经猜到我们需要另一个应用程序商店来下载 Android 应用程序。幸运的是,还有其他商店,例如 APKMirror。在 Ubuntu 20.04 中访问该站点并下载您需要的应用程序。另外,请务必选择 x86 APK 文件。这是因为您是在常规 64 位 CPU 上模拟 Android,而不是 ARM。
tech@linux:~/Downloads$ ls
myapp.apk
通过执行以下命令启动 adb,因为默认情况下它通常是关闭的。
$ adb devices
List of devices attached
* daemon not running; starting now at tcp:5037
* daemon started successfully
emulator-5558 attached
安装应用程序
$ adb install myapp.apk
Success
确认应用程序已成功安装在 Anbox 中。
Anbox 是一个不断发展的应用程序,它可能不会像您期望的那样完美运行。有些应用程序会崩溃,而其他应用程序则可以正常工作。尝试一下,在 Git 上与 Anbox 团队交谈,并享受探索它所提供的功能的乐趣。我们感谢您一直坚持到最后。您可以查看下面的其他文章。
- 如何将旧 Android 设备上的所有内容转移到新 Android 设备上
- 如何从 Android 手机追踪 iPhone
- 适用于 Android 的 Coolmuster Lab.Fone :在 Android 上取消删除文件 – 快速且安全
Android相关学习资料:
- 学习Android编程的书籍
- 学习 Java 编程的最佳书籍