Anbox snap 安装失败

Mic*_*ael 3 software-installation snap anbox

我正在尝试使用此页面中的说明在我的新 Ubuntu 16.04 中安装 Anbox 。它似乎有效,但我的仪表盘中没有图标,所以我怀疑安装未完成。使用 Synaptic Package Manager,我可以看到anbox-common&anbox-modules-dkms已安装,但我的破折号中没有图标,所以我尝试运行

sudo snap install --edge --devmode anbox
Run Code Online (Sandbox Code Playgroud)

并收到此错误:

error: cannot install "anbox": Get
   https://search.apps.ubuntu.com/api/v1/snaps/details/core?channel=stable&fields=anon_download_url%2Carchitecture%2Cchannel%2Cdownload_sha3_384%2Csummary%2Cdescription%2Cdeltas%2Cbinary_filesize%2Cdownload_url%2Cepoch%2Cicon_url%2Clast_updated%2Cpackage_name%2Cprices%2Cpublisher%2Cratings_average%2Crevision%2Cscreenshot_urls%2Csnap_id%2Csupport_url%2Ccontact%2Ctitle%2Ccontent%2Cversion%2Corigin%2Cdeveloper_id%2Cprivate%2Cconfinement%2Cchannel_maps_list:
   dial tcp: lookup search.apps.ubuntu.com on [::1]:53: read udp
   [::1]:54255->[::1]:53: read: connection refused
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?为什么连接被拒绝?根据说明,这似乎是安装它的正确命令。

ps:我对Linux不是很熟悉,我更像是一个Windows人,正在努力学习Linux。

kar*_*rel 6

Ubuntu 19.04 及更早版本

Anbox 有 >=4GB RAM 推荐的硬件要求。

anbox-installer 已弃用。

请在https://github.com/anbox/anbox/blob/master/docs/install.md找到 Anbox(仅限 64 位架构)的更新安装说明。

安装必要的内核模块

为了将 PPA 添加到您的 Ubuntu 系统,请运行以下命令:

sudo add-apt-repository ppa:morphis/anbox-support
sudo apt update
sudo apt install anbox-modules-dkms
Run Code Online (Sandbox Code Playgroud)

这些会将 PPA 添加到您的系统并安装包含 ashmem 和 binder 内核模块的 anbox-modules-dkms 包。每次系统上的内核包更新时,它们都会自动重建。

安装 anbox-modules-dkms 软件包后,您必须手动加载内核模块。下次系统启动时,它们将自动加载。

sudo modprobe ashmem_linux
sudo modprobe binder_linux
Run Code Online (Sandbox Code Playgroud)

现在您的系统/dev目录中应该有两个新节点:

ls -1 /dev/{ashmem,binder}
/dev/ashmem
/dev/binder
Run Code Online (Sandbox Code Playgroud)

安装 Anbox snap

安装 Anbox snap 非常简单:

snap install --devmode --beta anbox
Run Code Online (Sandbox Code Playgroud)

为了将 Anbox 更新到更新版本,您可以运行:

snap refresh --beta --devmode anbox
Run Code Online (Sandbox Code Playgroud)

Ubuntu 16.04-17.04

您收到错误error: cannot install "anbox"是因为 anbox 不是 anbox snap 包的正确名称。anbox snap 包仅与 64 位架构操作系统兼容。正确的名称是anbox-installer。打开终端并输入:

sudo snap install --edge --classic anbox-installer
Run Code Online (Sandbox Code Playgroud)

启动 anbox-installer 脚本。

anbox-installer   
Run Code Online (Sandbox Code Playgroud)

这将为您的软件源添加 PPA,下载 406.8MB 的档案并安装新的 Linux 内核包,所有这些都是为了安装当前是 alpha 软件的 anbox。要查看安装过程中会发生什么,您可以观看此截屏视频

在安装过程中,您将看到此警告消息:

IMPORTANT: THIS IS ALPHA LEVEL SOFTWARE. EXPECT INSTABILITY AND BUGS !!!!!
Run Code Online (Sandbox Code Playgroud)

无论如何,我在 Ubuntu 17.04 中安装了 Anbox,并且 Anbox 中包含的内置 Android 应用程序开箱即用,尽管预期的错误和不稳定性如承诺的那样出现。

重新启动以完成 anbox 安装。

sudo reboot  
Run Code Online (Sandbox Code Playgroud)

在 Dash 中键入“anbox”,然后单击 Anbox 图标以启动 Anbox 应用程序管理器。在 Anbox 应用程序管理器中,您将看到一行应用程序图标。单击一个图标以启动它。Android 应用程序将在新窗口中启动,您将能够运行它。

Anbox 没有预装 Google Play 商店(尽管您可以安装它),甚至没有软件包安装程序,因此在 Anbox 中安装其他应用程序的唯一方法是通过名为 Android Debug Bridge ( adb )的 Ubuntu 软件包)。您必须下载要安装的应用程序的 .apk 文件,打开终端,将目录 using 更改cd为 .apk 文件的目录,然后使用如下所示的命令安装应用程序:

adb install /path/to/file.apk  
Run Code Online (Sandbox Code Playgroud)

从warez 网站下载.apk 文件是一个悲惨的安全风险,但是有些应用程序允许您从应用程序的官方网站下载.apk 文件,例如WhatsApp Messenger for Android

然后,如果应用程序需要操作系统中未安装的其他依赖项,则该应用程序可能会安装,或者可能不会安装。例如,WhatsApp 需要 Java 作为依赖项。我已经在我的 Ubuntu 中安装了 Java,所以我尝试安装 WhatsApp。

adb install WhatsApp.apk  
Run Code Online (Sandbox Code Playgroud)

我收到一条错误消息,说error: cannot connect to daemon. 我关闭了 Anbox 并重新打开它。我收到另一条错误消息,说write: Broken pipe. 我关闭了 Anbox 并再次打开它并收到相同的错误消息。Anbox 有问题,就像 anbox-installer 脚本所说的那样。我关闭了 Anbox 并再次重新打开它,最后在 Anbox 中安装了 WhatsApp。

在此处输入图片说明

当您第一次打开 WhatsApp 时,它会向您显示一个屏幕,其中显示一条消息:

WhatsApp will send an SMS message to verify your phone number.  
Enter your country code and phone number.  
Run Code Online (Sandbox Code Playgroud)

WhatsApp 还会询问您是否要授予应用程序访问设备上文件的权限,我认为这是另一个安全风险。我认为授予 WhatsApp 访问我手机上的文件的权限是可以的,但我不想授予该应用访问我计算机上的文件的权限。在 Linux 中,权限是一个非常重要的问题。您应该非常小心地为默认情况下尚未拥有的应用程序授予权限,并且 Ubuntu 16.04 中的 Telegram-desktop snap 包比 WhatsApp 提供更好的支持,包括目前可供全球用户使用的 Telegram Calls 语音通话.