it-swarm.cn

我可以在Ubuntu上运行Android apps吗?

可以在Ubuntu上运行Android apps吗?我并不是指在模拟器中,而是本机,就像使用Ubuntu软件中心安装的任何其他应用程序一样。

98
mxhernaiz

直接的答案是不,你不能。虽然Android apps是在Java中开发的,因此应该可行,但环境完全不同:

  • 屏幕尺寸有限,“窗口系统”的概念在移动设备中不存在
  • 有些硬件根本就不存在,SIM卡,GPS等

有一个模拟器通过向应用程序提供他们需要的额外位来欺骗应用程序。但它在您的机器上使用原生OpenJDK,因此它们运行良好。可以把它想象成一个测试环境而不是模拟器。

无论如何,如果你的想法是在你的笔记本电脑中运行Layar,忘了它,它根本没有任何意义。

28
paulo.albuquerque

您现在可以在Chrome运行APK,使用 此扩展名(请记住它正在开发中供开发人员用于测试应用) 。以下是我为使其工作而采取的一些步骤

  1. 安装 - 点击“添加到Chrome”

    这需要一段时间,因为它似乎下载一个重达113Mb的crx安装程序,另一个重约9Mb,所以请耐心等待: enter image description here

    注:在我的Fedora 21版本的Chromium 40上,我在尝试安装扩展时遇到错误'清单文件无效',即使在清除数据并重新加载扩展后也是如此。我也遇到了Ubuntu 14.04的Chromium 41版本的问题,所以我安装了Google Chrome :(并且有效。

  2. 获取您要使用的应用程序的APK - 不,它似乎不能从Google Play安装,您需要一个APK文件的应用程序,所以这是棘手的一点。
    大多数封闭源代码开发人员不希望他们的内容自由分发,因此对于Google Play上的大多数应用程序,至少您需要使用:

    • 使用APK作为开源应用程序 - 为了测试这个我尝试使用x86 APK for VLC Media PLayer ,这导致了错误屏幕 - 我然后尝试了armv7弧版本,并且首先工作然后崩溃。
    • 从Android设备获取APK - 这很容易在一些有根的Android设备上完成,在普通设备上,我认为你可以从/system/apps或某处复制系统应用程序apks - 由于合法的原因,再次不推荐。
    • 使用APK的第三方服务/存储库 - 例如 这篇文章 建议 这一个 ,但这里的问题是你可能正在下载修改或受感染的程序/文件。可能应该被视为最后的手段。
    • 使用第三方扩展程序 - 例如 这一个 假装是一个设备和下载(如果你喜欢合法的东西,不是一个好主意,加上google跟踪你的一举一动(主要是在登录时),所以可能会很快找到... 在浏览器和可能Android支持上可能已过时。不建议不要在浏览器的扩展存储中安装扩展程序!
  3. 安装它

    现在我们尝试更有趣的尝试。转到chrome中的应用程序内容(或在URL栏中键入chrome://apps)并启动Arc Welder。然后选择APK所在的目录,然后选择APK,然后在窗口中选择“启动应用程序”。

    如果窗口将应用程序图标显示为如下所示:
    folder with system gear icon on it
    应用程序可能无法正常工作,因此它们可能没有多大意义继续下去。这似乎发生在Android 4.4 +的应用程序很多...

  4. 使用它

    我设法得到 QuickOffice 来运行并且主要在扩展下工作,虽然我无法保存任何文件,因为它不喜欢选择保存文件的地方(显示一个文件夹选择框,而不是用于保存的文件选择框:P) enter image description here

    按“启动应用”后,扩展程序会自动在Chrome上的应用页面添加一个条目 - 您可以将其添加到独立的应用程序启动器中,以便直接从应用程序菜单/破折号/启动器启动应用程序 - 这可能是此扩展的最佳功能,因为它与桌面集成,您不需要首先启动模拟器等。

    总的来说,这很棒,考虑到这可能还在开发中,并没有为此设计它的效果非常好。

资料来源:


或者你可以使用其他答案中建议的模拟器 - 我确实使用了 Genymotion (那里一些方便的指令 here ,但是 这个答案 可能有帮助)。 Android Emulator可以作为Android St​​udio SDK的一部分获得,但是因为Android Nougat应用程序应该签名。

28
Wilf

你最接近的是通过模拟器。这个答案可能不适合你(你可能已经知道了这一切)但是如果其他人进入这个主题,他们可能会有兴趣知道。

您可以通过Android模拟器运行,这是Android SDK(软件开发工具包)的一部分。

这提供了一个虚拟设备,它允许你运行相当多的Android应用程序,虽然它可能会遇到一些更依赖硬件的东西(3D,电话,GPS,短信等)

以下是设置它的指南:

如何在Ubuntu上运行Android应用程序 - Softpedia

18
Oli

不,你不能(除了通过Oli提到的模拟器。)然而,看起来Ubuntu人正在研究这个,所以你可能会在将来做到这一点。我的证明: http://arstechnica.com/open-source/news/2009/05/canonical-developers-aim-to-make-Android-apps-run-on-ubuntu.ars

5
user11619

似乎有越来越多的开发者进入这个领域。 http://www.shashlik.io/

什么是Shashlik 
 
 Shashlik的目标是提供一种在标准Linux桌面上尽可能简单地运行Android应用程序的方法。[。_____。]

可以在Ubuntu上运行Android apps。它并不稳定,并非所有应用程序都能正常运行,但它看起来很有希望。

附:我不得不Sudo apt-get install libgl1-mesa-devSudo apt-get install kde-baseapps-bin

5
jtzero

可以在Ubuntu上运行Android apps吗?

本机,就像使用Ubuntu软件中心安装的任何其他应用程序一样?

是的,但通过大量的修补:

  • 使用chrome(Beta级工具);
  • Anbox(Alpha级软件);

  1. 谷歌浏览器可以作为Android apps运行chrome apps但首先,你必须使用以下方法转换它们 - 弧焊机ARChon自定义运行时

  2. Anbox不是模拟器,而是兼容层。它旨在通过将Android操作系统放入容器,抽象硬件访问并将核心系统服务集成到GNU/Linux系统中,在任何GNU/Linux操作系统上运行Android应用程序,所以Android应用程序可以像任何其他本机应用程序一样与您的操作系统集成。

4
Enkouyami

你可以

并有几个选项来做到这一点。

  • 特殊模拟器喜欢Android SDK附带的那些。不要使用基于ARM的,因为它们是sloooow。
  • 通用虚拟机喜欢安装Android x86的VirtualBox。我的推荐。
  • Chrome。最近版本的Google Chrome可以在其内部运行Android apps(从未尝试过,但人们对它进行评分很高)。
  • 通过USB或Wi-Fi网络连接Android设备,并使用某种远程桌面。
4
Barafu Albino

最近可用的选项是 Anbox 。与大多数其他解决方案不同,它是基于容器而不是模拟器。这意味着它在Host内核上运行。它还尝试集成到您的主机操作系统中,以便应用程序看起来是原生的。它目前是阿尔法,但看起来很有希望.

1
Jon Bentley