Android 虚拟设备 - Armeabi-v7a 对比 x86_64

Android Virtual Device - Armeabi-v7a vs x86_64

我想制作自己的 Android 应用程序。我正在使用 Ubuntu 64 位和 IntelliJ。在虚拟设备配置中,它要求我选择一个系统映像。所有选项旁边都有一个Download,这意味着我没有下载任何系统映像。

Lollipop(API 级别 21)有 3 个选项可用,它们是 Armeabi-v7a、x86_64 和 x86。(我使用的是 Ubuntu 64 位,所以我应该不会使用 x86 吧?)

谁能解释一下 Armeabi-v7a 的用途? Armeabi-v7a 和 x84_64 有什么区别?我应该选择什么"version"(哪个运行得更快;))?

根本区别在于正在模拟的 CPU。

  • Armeabi-v71 模拟 ARM 处理器。 (有关 ARM 选项的更多详细信息,请参阅:this question。)
  • x86_64 模拟 64 位 X86 处理器。

具体选择哪个取决于您的目标设备。 ARM 处理器更为普遍,因此使用 ARM 虚拟设备测试您的应用程序通常很有意义。

另一个考虑因素是本机代码。如果您的应用程序包含任何本机代码或带有本机代码的第 3 方库,那么您对虚拟设备的选择很重要。本机代码被编译成特定于 CPU 的库(.so 文件)。因此,您将使用 ARM 虚拟设备测试您应用中的 ARM 库,并使用 X86 虚拟设备测试您应用中的 X86 库。

最后一个考虑因素是执行速度。 X86 虚拟设备在 X86 桌面计算机上 运行 更快。