Android NDK. Очень много ABI: armeabi, armeabi-v7a, arm64-v8a. Под какую из них реально стоит строить нативные .so-либы?
armeabi, armeabi-v7a, arm64-v8a, x86, x86_64, mips, mips64. Ну, armeabi — вроде понятно. Эта вроде архитектура на всех (или почти на всех) реальных гаджетах.
x86 — вроде тоже понятно. Это прежде всего для Genymotion и прочих эмуляторов, где Android x86. А остальные? Будет ли идеальным решением просто построить либу под все ABI? А если нет возможности протестить везде, а только на x86 и armeabi? И почему столько armов: armeabi, armeabi-v7a, arm64-v8a? Какой из них актуальнее? Как определить, какой поддерживается моим гаджетом? Могут ли быть несколько сразу?
Отслеживать
задан 7 мар 2016 в 20:53
user204455 user204455
1 ответ 1
Сортировка: Сброс на вариант по умолчанию
x86 — это прежде всего процессоры Intel Atom, которые установлены в немалое число реальных устройств, а не эмуляторы. Эмулятор, как раз может эмулировать любую архитектуру, независимо от архитектуры процессора, на котором хостится — на то он и эмулятор. Вы можете в этом убедится сами, посмотрев на список образов для эмуляции:

Минимальным набором поддерживаемых архитектур является набор APP_ABI := x86 armeabi . Далее следует определиться, будет ли ваше приложение использовать дополнительные возможности архитектуры armeabi-v7a, например NEON — если это так, то данную архитектуру тоже следует включить в список (расширенный список инструкций arm-v7) — на самом деле, сейчас практически все ARM процессоры, как минимум v7
В последнее время устройства с процессорами на 64-ех битной архитектуре все чаще появляются в продаже, поэтому их тоже стоит учесть.
Точно проигнорировать можно mips/mips64
Узнать, какая архитектура у вашего устройства, можно по спецификации процессора, который оно использует. Например, Qualcomm Snapdragon 820 — ARM-V8A. Так же в маркете можно найти программы, которые покажут системную информацию.
Несколько архитектур ARM в одном процессоре быть не может, но каждая следующая включает предыдущую, то есть в ARM-V7 включен ARM, в ARM-V8 — ARM-V7. По факту, самая актуальная сейчас ARM-платформа — ARM-V7, на ней построено абсолютное большинство действующих процессоров, но ARM-V8 активно наступает.
Разница в ARM-архитектурах очевидна, каждая следующая — шаг в эволюции, добавляются новые возможности на уровне железного ядра.
Вы можете указать собрать библиотеку под все abi и это будет хорошим решением, если итоговый размер приложения вас устроит — каждая дополнительная платформа — новые файлы, которые имеют размер.
Как определить архитектуру вашего Android смартфона или планшета: armeabi-v7a, arm64-v8a, x86 и x86_64
Архитектура процессора вашего Android-устройства определяет, какие приложения и компоненты с ним совместимы.
Эта информация может быть полезна при установке APK-файлов, загруженных с таких сайтов как APKMirror, APKPure, APKCombo и других. В настоящий момент, выпускаются APK для четырёх архитектур: armeabi-v7a (arm), arm64-v8a (aarch64), x86 (i386) и x86_64.
В этой статье мы расскажем, как узнать архитектуру вашего Android-смартфона или планшета, используя приложение CPU X или информацию в настройках устройства.
Определение архитектуры с помощью приложения CPU X
Приложение CPU X предоставляет информацию о вашем устройстве, включая архитектуру процессора. Вот как его использовать:
- Установите приложение CPU X из Google Play Маркет.
- Запустите приложение и откройте вкладку Процессор (Device).
- В разделе «Процессор» найдите строку Набор инструкций (Instruction Sets). Здесь будет указана архитектура вашего устройства (armeabi-v7a, arm64-v8a, x86 или x86_64).

Определение архитектуры через настройки Android-устройства:
- Откройте настройки на вашем Android-устройстве.
- Найдите раздел «О телефоне» или «О планшете» (зависит от устройства).
- Ищите информацию о процессоре или модели устройства и проконсультируйтесь с информацией о производителе. Обычно модель процессора указывает на архитектуру, которую вы ищете (например, Snapdragon 865 — это процессор архитектуры arm64-v8a).
Заключение
Определение архитектуры вашего Android-устройства важно для того, чтобы установить совместимые приложения и компоненты. Вы можете использовать приложение CPU X или информацию в настройках устройства, чтобы узнать архитектуру вашего процессора. Теперь, зная архитектуру вашего устройства, вы сможете установить правильные версии приложений и наслаждаться их работой на вашем смартфоне или планшете.
Android NDK. Архитектуры ABI. Что такое mips и armeabi-v7a? Стоит ли сейчас собирать библиотеки под них?
armeabi — понятно. Эта архитектура на всех (или почти на всех) реальных гаджетах.
x86 — вроде тоже понятно. Это прежде всего для Genymotion и прочих эмуляторов, где Android x86.
А mips и armeabi-v7a используются где-нибудь?
Вангую, что v7a это просто версия armeabi, почему не ограничиваться простым armeabi?
- Вопрос задан более трёх лет назад
- 8789 просмотров
Архитектура процессора. Что такое armeabi-v7a и arm64-v8a

Быстро узнаем, что такое armeabi-v7a, arm64-v8a и какие приложения Вы можете установить на свое устройство.
ufrstealer
Просмотров:
03-03-2023, 18:48
3-03-2023, 20:21
Наверное у каждого человека, который качал приложения не с официального магазина, возникали ошибки вида: Приложение не установлено, не удалось разобрать пакет и тому подобные. Причин для этого может быть несколько, но сегодня мы рассмотрим одну из самых главных. Технический мир развивается и постоянно появляются новые технологии от компании Google и других производителей Андроид устройств. Если ближе к сути, то у каждого процессора есть своя архитектура (Набор инструкций) и их бывает несколько видов:
- armeabi-v7a — самый популярный набор инструкций на данный момент, работает с 32-разрядными процессорами;
- arm64-v8a — 64-разрядная архитектура, которая набирает обороты и появляется на новых устройствах все чаще, работает с 64-битными процессорами;
- x86 и x86_64 — для процессоров Intel, которые устанавливаются на ноутбуки и планшеты.
Узнаем, какая архитектура у Вашего устройства
- Качаем с Google Play приложение Droid Hardware Info. Далее выполняем следующие действия: переходим в раздел -> Система -> Процессор и смотрим пункты «Архитектура процессора», а также «Набор инструкций».
- Если у Вас есть Telegram, заходим в настройки и листаем в самый низ, где будет написана Ваша архитектура.

Какие игры и приложения Вы можете устанавливать?
- Если у Вас armeabi-v7a, то выбор невелик и нужно искать файлы с поддержкой этого набора инструкций;
- Если у Вас arm64-v8a, можно устанавливать файлы armeabi-v7a и arm64-v8a;
- x86 — только x86, x86_64 — можно скачивать x86 и x86_64.
Итог — если Вы не хотите разбираться во всем этом, просто старайтесь скачивать файлы с armeabi-v7a, они поддерживаются почти везде.
Но есть исключения:
- Если на устройстве с процессором arm64-v8a установлена 32-разрядная операционная система, то можно будет устанавливать только файлы armeabi-v7a.
- С выходом новой версии Android 14, при установке приложений armeabi-v7a, система предупреждает, что в скором времени Google откажется от поддержки 32-битных версий и останется только arm64-v8a. Насколько быстро произойдет переход — неизвестно. Но вряд ли это будет быстро.
Если у Вас появились дополнительные вопросы — задавайте их в комментариях, мы постараемся ответить.