【问题标题】:How do I run Android's .apk files on linux without the Android emulator?如何在没有 Android 模拟器的情况下在 linux 上运行 Android 的 .apk 文件?
【发布时间】:2014-12-22 13:18:15
【问题描述】:

我有一个要求,我需要直接在我的主机 PC 上安装 .apk 文件,而不需要 Android 模拟器。我想直接在我的 Linux 机器(x86 arch)上安装它。我有一些关于相同的菜鸟问题:

  • .apk 文件是如何组织的?
    • 它只是一个大的二进制文件吗?
      • 在这种情况下,如果我使用的是带有 x86 atom 处理器的手机,这是否意味着将有一个单独的 Android 细分市场来托管移植到 x86 架构的应用程序?
    • 它是由可执行文件组成的存档吗? (类似于 .rpm 或 .deb)。
      • 如果是,那么存档的格式是什么?
      • 如果有,它们是否针对不同的架构(x86、ARM 等)有不同的 .apk 文件。
      • 如果不是,那它是如何组织的?
  • 在运行 x86 架构的 Linux PC 上直接运行 .apk 文件有什么要求?

我没有很好的 Android 和 .apk 文件背景,因此提出了这些问题。

感谢和问候,

Hrishikesh Murali

【问题讨论】:

    标签: android apk


    【解决方案1】:

    您不能将 .apk 文件直接安装到您的 PC 上。尽管 Android 使用 Linux 内核,但应用程序运行在完全不同的平台上。 APK 文件是基于 JAR 文件格式的 ZIP 文件格式的包,文件扩展名为 .apk。它们拥有该程序的所有代码(例如 .dex 文件)、资源、资产、证书和清单文件。 它们仅在 Dalvik virtual machine. 上运行

    如果您真的想从计算机上运行 Android 操作系统,请在您的 PC 上安装它们。

    【讨论】:

      【解决方案2】:

      有一个项目旨在使这成为可能:http://www.icedrobot.org/

      不幸的是,截至 2012 年 11 月,它似乎处于非活动状态。

      【讨论】:

        【解决方案3】:

        您可以使用 ARChon 在 ubuntu 中运行 apk:

        1. 安装 ARCHon 运行时。 http::github.com/vladikoff/chromeos-apk/blob/master/archon.md
        2. 打开并启用标志:chrome://flags/#enable-nacl,然后重新启动 Google-Chrome。 (重要!)
        3. website 中安装现有的安卓应用或通过“Online APK-CRX Converter”转换您喜欢的安卓应用。
        4. 将 Google-Chrome 扩展程序拖放到浏览器的 chrome://extensions/ 页面中,它将安装在您的浏览器中。尽情享受吧!

        【讨论】:

          【解决方案4】:
          1. apk 文件不是可执行文件,它只是一个存档文件,包含应用程序要使用的所有资源和类文件。
          2. apk 设置为由 Dalvik vm 解压缩并运行。
          3. apk 文件中包含的元素经过专门设计并指定用于 Android 手机,而不是运行 Linux 的台式电脑。尽管 Android 使用的是 Linux 内核,但您绝对不能在 Linux 机器上运行 apk 文件,就像运行 rpm 或 deb 文件一样。

          【讨论】:

          • 谢谢。我们是否绝对需要'dalvik vm'来运行它,或者我们可以通过调整手动复制'dalvik vm'的操作,使其直接在linux上运行?
          • 不,我们不能!这就像将一个旨在在地球上生活和呼吸的人带到火星并调整火星以适应人类。
          • @Achilles 题外话,但随机开个玩笑...计划了两个已知的火星任务,一个由 NASA 执行,另一个由 MarsOne 执行。这些稍后将包括对火星的变形,因为火星上不仅有冰,还有流动的水。合成大气所需要的只是氧气和电力来产生臭氧。回到主题,是的,可以“模拟”或重建和优化虚拟机。但是这样做所需的时间大于其可行的用途(HrishikeshMurali)
          猜你喜欢
          • 2014-01-19
          • 2017-07-31
          • 2017-08-26
          • 1970-01-01
          • 1970-01-01
          • 2017-01-07
          • 1970-01-01
          • 1970-01-01
          • 2020-09-21
          相关资源
          最近更新 更多