При попытке установить приложение вручную через APK-файл пользователь часто видит несколько версий сборки с пометками arm64-v8a, armeabi-v7a или x86_64 — и ошибка «приложение не совместимо с вашим устройством» почти всегда означает, что выбран не тот вариант. Эти пометки — и есть CPU ABI, то есть указание на архитектуру процессора, под которую скомпилирована программа.

Разобраться в вопросе несложно: достаточно понять, что такое ABI, какие варианты существуют и как узнать архитектуру своего устройства. Эта информация пригодится при установке приложений из альтернативных источников, прошивке устройств и диагностике проблем совместимости.

Что такое CPU ABI простыми словами

ABI (Application Binary Interface) — это двоичный интерфейс приложения, набор правил, описывающих, как скомпилированная программа взаимодействует с процессором и операционной системой на самом низком уровне. Если проводить аналогию, то ABI — это «язык», на котором приложение разговаривает с процессором. Программа, собранная под одну архитектуру, физически не может выполняться на другой без специальных прослоек-эмуляторов.

В спецификацию ABI входит несколько важных элементов:

  • 📋 набор машинных инструкций процессора (ARM, x86 и другие);
  • 🔢 разрядность — 32 бита или 64 бита;
  • 📦 формат исполняемых файлов и библиотек;
  • 🔗 соглашения о вызовах — как функции передают параметры и возвращают результаты;
  • 🧩 порядок байтов в памяти (endianness).

Не путайте ABI с API. API — это программный интерфейс на уровне исходного кода, с ним работает разработчик при написании программы. ABI же действует на уровне уже скомпилированного бинарного кода и определяет, запустится ли готовое приложение на конкретном устройстве вообще.

Основные типы ABI в Android-устройствах

В экосистеме Android исторически сложилось несколько распространённых архитектур. Знать их нужно прежде всего для правильного выбора APK-файла при ручной установке.

Название ABIАрхитектураРазрядностьГде встречается
arm64-v8aARM64 битаПодавляющее большинство современных смартфонов и планшетов
armeabi-v7aARM32 битаСтарые и бюджетные устройства
x86_64Intel/AMD64 битаЭмуляторы, некоторые планшеты и ТВ-приставки
x86Intel32 битаУстаревшие устройства на процессорах Intel
armeabiARM32 битаОчень старые устройства, давно не поддерживается

Сегодня основным стандартом стал arm64-v8a — именно под него собирается большинство приложений. Поддержка 32-битных сборок постепенно сворачивается: если у вас современный смартфон, с высокой вероятностью нужен именно вариант arm64-v8a.

💡

Если сомневаетесь между несколькими версиями APK — современному смартфону почти всегда подходит сборка arm64-v8a.