Android 的模拟器命令变体之间的差异

Difference among Android's emulator command variations

Android SDK 的 /tools 文件夹中有几个 emulator 二进制变体,但我没有找到关于它们差异的任何文档(例如,何时到哪个)。

Android SDK 版本为 24.4.1,在 CentOS 上。

通常情况下,您不需要关心这个,系统会为您选择一个默认的模拟器(第一个二进制文件)。每个二进制文件代表一种受支持的架构。最后五个是32位模拟器。

Android emulator is based on QEMU

When the Android SDK was first made available to the world, Google used QEMU as the basis for their Android emulator. They copied the source code to a custom repository in the Android Open Source Project (AOSP) and made a number of invasive modifications to QEMU. Specifically, they added emulation of a specific board called goldfish for the purposes of emulating an Android phone.

Every build of Android targets a specific hardware platform, and the emulated goldfish platform is no different. A number of specific emulator features are enabled in both the Android kernel and Android userspace environment when run in an emulated environment. These features allow a smooth and complete user experience resembling using a real Android device, on laptop and desktop workstations.

The Android emulator provides Android application developers with a convenient development environment and allows developers to develop and test applications on devices which they do not have physical access to. With the introduction of the ARMv8-A architecture and Android support for 64-bit ARM platforms, this need is more important than ever because it allows developers to begin adapting their applications to an ARM 64-bit based mobile ecosystem prior to hardware being available.

您可以使用默认模拟器 like here (or add QEMU options, but I never needed it, read this)。

您也可以强制使用 32 位模拟器: