我可以在Ubuntu上运行Android应用程序吗?

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

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

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

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

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

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

  1. 从这里安装 – 点击“添加到Chrome”

    这需要一段时间,因为它似乎下载一个重达113Mb的crx安装程序,另一个重约9Mb,所以请耐心等待: 在此处输入图像描述

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

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

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

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

    如果窗口将应用程序图标显示为如下所示:
    带有系统齿轮图标的文件夹
    该应用程序可能无法正常工作,因此它们可能没有多大意义继续下去。 这似乎发生在Android 4.4 +的应用程序很多…

  4. 用它

    我设法让QuickOffice运行并且主要在扩展下工作,但我无法保存任何文档,因为它不喜欢选择保存文件的位置(显示文件夹选择框,而不是用于保存的文件选择框: P) 在此处输入图像描述

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

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

资料来源:

  • ARC入门
  • Android应用程序可在Windows,Mac和Linux上运行
  • 使用ARC Welder Chrome应用在Chrome OS,Windows,OS X或Linux中测试Android应用

或者你也可以使用其他答案中建议的模拟器 – 我使用Genymotion取得了一些成功(这里一些方便的说明,但这个答案可能有所帮助)。 Android Emulator可以作为Android Studio SDK的一部分获得,但是因为应该签署Android Nougat应用程序。

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

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

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

以下是设置它的指南:

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

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

您可以

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

  • 像Android SDK一样的特殊模拟器 。 不要使用基于ARM的,因为它们是sloooow。
  • 安装了Android x86的VirtualBox等通用虚拟机 。 我推荐。
  • 铬。 最近版本的谷歌浏览器可以在其自身内部运行Android应用程序(从未尝试过,但人们对其进行评级很高)。
  • 通过USB或Wi-Fi网络连接Android设备,并使用某种远程桌面。

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

 什么是Shashlik

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

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

PS我不得不sudo apt-get install libgl1-mesa-devsudo apt-get install kde-baseapps-bin

可以在Ubuntu上运行Android应用程序吗?

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

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

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

  1. 谷歌浏览器可以将Chrome应用程序作为Chrome应用程序运行,但首先,您必须使用Arc Welder或ARChon自定义运行时进行转换 。

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

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