如果您是 Android 的铁杆粉丝,您可能知道您最喜欢的移动操作系统源自 Linux。 过去我们已经介绍过 Android 如何基于开源组件,而 Linux 内核就是其中之一。 如果他们是这样的话,这是有道理的 close,在 Linux 上运行 Android 应用程序应该相对容易。
事实证明,这是正确的。 通常在另一个操作系统上运行一个操作系统的应用程序是很棘手的。 但是有几种方法可供 Linux 用户运行 Android 应用程序,使事情变得相对容易。 让我们来看看。
其他操作系统上适用于 Android 的现有方法
过去我们已经介绍了几种在其他操作系统上运行 Android 或其应用程序的方法。 这些通常采用以下两种形式之一:
- 第一种是使用某种虚拟机 (VM),有时称为模拟器。 简而言之,它是模拟整个 Android 系统的软件。 一个 example 其中包括 Android Studio 中包含的模拟器,我们在创建简单的 Android 应用程序时广泛使用了该模拟器。 您还可以使用通用 VM 工具,例如 VirtualBox,并运行专为桌面使用而设计的 Android 风格之一。 最后,BlueStacks 是一个更优化的 example 此方法适用于 Windows。
- 第二种方法是使用兼容软件。 虽然它们的精确方法各不相同,但它们旨在将 Android 软件的输入和输出转换为主机可以理解的内容。 一种方法使用 Chrome 浏览器带有一个名为 ARChon 的插件来实现这个效果。
在下面的部分中,我们将探索以下 Linux 原生解决方案,它们在不同程度上使用了上述选项:
- Anbox,它使用 Ubuntu 的 Snap 包格式。 它更像是一个兼容层,从某种“控制面板”启动应用程序。
- Shashlik,它使用基于 QEMU 的优化 VM。 它会在您的常规系统启动器中为 Android 应用程序创建条目。
- Genymotion,它使用基于 VirtualBox. 它运行一个完整的虚拟设备接口。
我们将在下面更详细地探讨这些选项中的每一个。
1. 盒子
盒子,顾名思义,自称是“盒子里的安卓”。 它是一个 Linux 应用程序,提供完整的 Android 软件堆栈 容器,类似于 Docker 的操作方式。 作为 Snap 包分发,您的分发版需要支持该格式——幸运的是,大多数主要版本都支持。
您可以在您的软件中心搜索它,或者在 Ubuntu 中使用如下提示命令:
sudo apt install snapd
现在 Snap 系统已经安装完毕,使用 Anbox 网站上的命令下载并安装它:
snap install --classic anbox-installer && anbox-installer
基于终端的安装程序脚本将为您获取所有内容。 它将首先执行一些 admin 添加新的软件存储库和安装先决条件等功能。 然后它将下载 Anbox Snap 包(如下图所示)并安装它。
安装后,您可以使用以下命令确认它正在运行:
安装 Anbox 后,您可以从主菜单启动它。 它出现在我的“失物招领”类别中,但它应该出现在文本搜索中。 片刻之后,屏幕上应该会弹出“Anbox 应用程序管理器”。
该项目的网站预先声明它仍在大力开发中。 当安装您的第一个应用程序时,您会感觉到这一点。 没有很好的图形化拖放方式来做到这一点——您需要使用 Android Debug Bridge (ADB)。 这个工具是 Android Studio 的一部分,所以如果它已经安装了,那么一切准备就绪。 如果没有,您可以安装 Android Studio(因为它提供了自己的模拟器,另一种选择),或者查看它们是否可以从您的包管理器中获得。
在 Ubuntu 上,以下内容将为您提供所需的内容:
sudo apt install android-tools-adb
现在,您可以安装一个您手头有 APK 文件的应用程序。 以下命令将安装 组织,记笔记和待办事项应用程序:
adb install com.orgzly_83.apk
最后,您会在 Anbox 窗口中看到该应用程序的图标弹出。 单击它会像您期望的那样打开应用程序(下图显示了我们在上面安装的 Orgzly 应用程序):
这 Esc键 键的作用类似于后退按钮,允许您 close 应用程序。
2. 沙什利克
沙什利克 是另一种选择,类似于 Anbox。 虽然后者使用了 Snap 包的容器技术,但 Shashlik 实际上包含了一个基于 QEMU 的轻量级虚拟机。
下载完庞大的 DEB 包后,您可以使用以下命令将其安装到 Ubuntu 系统中:
dpkg -i shashlik_0.9.3.deb
在 Shashlik 中安装应用程序也在进行中。 但是安装命令要简单一些:
/opt/shashlik/bin/shashlik-install name_of_app_file.apk
完成后,您会看到一个漂亮的小弹出窗口,说明它成功了。
您还将在启动器菜单中获得一个条目(在“Android 应用程序”类别下),当您单击它时,应用程序将启动。 Shashlik 的启动时间明显比 Anbox 长,因为它实际上是在启动一个适当的 VM:
最后,您的应用程序将在一个可能很小的窗口中打开。 有一些 QEMU 设置 */opt/shashlik/android/hardware-qemu.ini 您可以调整以获得更大的屏幕。
总体而言,安装 Shashlik 并设置一些应用程序的体验似乎更容易一些,如果您对较慢的启动没问题的话。
3. Genymotion
Genymotion 与上述两个选项略有不同。
首先,它是一种商业产品,所以如果你想长期使用它,你需要花一些钱。 这也意味着您需要一个 Genymotion 帐户才能下载试用版。 最后,它被定位为开发人员工具,这意味着它并不是真正意义上的启动应用程序的便捷方式,而是一个完整的测试系统。 如果这些事情都没有让你失望,你可以从 填写一个简单的表格并注册一个帐户:
重新登录您的帐户后,单击页面右上角的“试用”按钮。 它将带您到一个下载页面,您可以在其中为您的系统选择一个 Genymotion 版本。 下载时,您还应该确保您有 VirtualBox 安装,因为 Genymotion 使用它。
完成后,确保您授予 BIN 文件可执行权限,然后以 root 身份运行它(如下图的命令所示)。
简单的设置将很快完成,通知您可用的“/opt/genymobile/genymotion/genymotion”命令。 运行它将启动应用程序:
试用版将出现要求身份验证或许可证。 选择 登入 并提供您的帐户凭据。 接受 EULA 后,系统会要求您创建一个虚拟设备:
该应用程序提供了一系列新旧设备。 选择一个并单击 下一个 两次将启动该过程,下载并设置新设备。
安装后,您只需从应用程序主窗口的列表中选择新设备,然后单击 开始 按钮:
运行后,您会在一个窗口中看到一个功能齐全的 Android 设备。
但起初它只包含一组最小的应用程序。 幸运的是,使用 Genymotion 能够 使用图形方法(拖放)安装新的。 将 APK 文件拖放到窗口上会自动将其传输到虚拟设备、安装并运行它。 在下图中,我们可以(再次)看到 Orgzly,这次分辨率更高:
那么哪一个是最好的?
答案很简单:运行您需要的应用程序的那个。 通常情况下,不要认为您只需要选择一个。 如果您有一个应用程序在 Anbox 中的作用就像一个魅力,另一个在 Shashlik 中嗡嗡作响,另一个需要 Genymotion 的全部马力,请全部使用它们! 随意将 Android Studio 模拟器也扔在那里,只是为了更好的措施!
您是否有任何必须在桌面上安装的 Android 应用程序? 您是否使用过上述任何解决方案? 它们与 BlueStacks 之类的产品相比如何? 在下面的评论中说出您的想法和提示!