Android Virtual Device - Armeabi-v7a vs x86_64

Я хочу создать собственное приложение для Android. Я использую Ubuntu 64bit и IntelliJ. В конфигурации виртуального устройства он просит меня выбрать системный образ. Все параметры имеют Download рядом, что означает, что я не загрузил никакого образа системы.

Есть 3 варианта для Lollipop (уровень API 21): Armeabi-v7a, x86_64 и x86. (Я использую 64-разрядный Ubuntu, поэтому я не должен использовать x86 правильно?)

Может ли кто-нибудь объяснить, что такое Армеаби-v7a? Каковы различия между Armeabi-v7a и x84_64? Какую "версию" я должен выбрать (и какой из них работает быстрее;))?

Ответ 1

Основное различие заключается в том, что эмулируется процессор.

  • Armeabi-v71 эмулирует процессор ARM. (Подробнее о вариантах ARM см. Ниже: этот вопрос.)
  • x86_64 эмулирует 64-разрядный процессор X86.

Решение о выборе действительно зависит от вашего целевого устройства. Процессоры ARM гораздо более распространены, поэтому тестирование вашего приложения с виртуальными устройствами ARM часто имеет смысл.

Еще одно соображение - это собственный код. Если ваше приложение содержит какой-либо родной код или сторонние библиотеки с собственным кодом, то ваш выбор виртуального устройства важен. Собственный код скомпилирован в библиотеки (.so файлы), которые зависят от процессора. Таким образом, вы должны использовать виртуальные устройства ARM для тестирования библиотек ARM в вашем приложении и виртуальных устройств X86 для тестирования библиотек X86 в вашем приложении.

Окончательное рассмотрение - это скорость исполнения. Виртуальные устройства X86 будут работать быстрее на настольных компьютерах X86.