Не удалось установить соответствующие ABIS при установке apk

Я попытался установить свое приложение в Android L Preview Intel Atom Virtual Device, это не удалось с ошибкой:

INSTALL_FAILED_NO_MATCHING_ABIS

Что это значит?

15 ответов


INSTALL_FAILED_NO_MATCHING_ABIS Это когда вы пытаетесь установить приложение, которое имеет собственные библиотеки, и у него нет собственной библиотеки для вашей архитектуры процессора. Например, если вы скомпилировали приложение для ARMv7 с и пытаются установить его на эмулятор, который использует Intel архитектура вместо этого не будет работать.


INSTALL_FAILED_NO_MATCHING_ABIS - это когда вы пытаетесь установить приложение с собственными библиотеками, и у него нет собственной библиотеки для вашей архитектуры процессора. Например, если вы скомпилировали приложение для armv7 и пытаетесь установить его на эмулятор, который использует архитектуру Intel, он не будет работать.

использование Xamarin в Visual Studio 2015. Исправить эту проблему:

  1. откройте xamarin .sln
  2. щелкните правой кнопкой мыши свой проект android
  3. выберите Свойства
  4. Нажмите Android Options
  5. перейдите на вкладку 'Advanced'
  6. В разделе "поддерживаемые архитектуры"установите следующий флажок:

    1. armeabi-v7a
    2. x86
  7. сохранить

  8. F5 (сборка)

Edit: было сообщено, что это решение работает Visual Studio 2017 также.

Edit 2: сообщается, что это решение работает над Visual Studio 2017 для Mac как хорошо.


Я отправляю ответ из другого потока, потому что это то, что хорошо сработало для меня, трюк состоит в том, чтобы добавить поддержку для обеих архитектур :

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

я смог использовать эмулятор x86 Accelerated (HAXM), просто добавив его в сборку моего модуля.скрипт gradle внутри блока android {}:

splits {
        abi {
            enable true
            reset()
            include 'x86', 'armeabi-v7a'
            universalApk true
        }
    }

выполнить (построить)... Теперь там будет (yourapp)-x86-debug.apk в выходной папке. Я уверен, что есть способ автоматизировать установку при запуске, но я просто запускаю свой предпочтительный эмулятор HAXM и использую командную строку:

adb install (yourapp)-x86-debug.apk

Если вы используете Genymotion вам нужно установка перевода ARM и GApps


это действительно странная ошибка, которая может быть вызвана multidexing вашего приложения. Чтобы обойти это, используйте следующий блок впостроить.Gradle в:

android {
  splits {
    abi {
        enable true
        reset()
        include 'x86', 'armeabi-v7a'
        universalApk true
    }
  }
  ...[rest of your gradle script]

Я знаю, что здесь было много ответов, но версия TL; DR такова (если вы используете Xamarin Studio):

  1. щелкните правой кнопкой мыши проект Android в дереве решения
  2. выберите Options
  3. на Android Build
  4. на Advanced tab
  5. Проверьте архитектуры, которые вы используете в своем эмуляторе (возможно x86 / armeabi-v7a / armeabi)
  6. сделать приложение kickass:)

комментарий @enl8enmentnow должен быть ответом на исправление проблемы с помощью genymotion:

Если у вас есть эта проблема на Genymotion даже при использовании ARM переводчик это потому, что вы создаете x86 виртуальное устройство, как Google Nexus 10. Выберите виртуальное устройство ARM вместо этого, как один из пользовательских планшетов.


Visual Studio mac-вы можете изменить поддержку здесь:

enter image description here


Это решение работает для меня. Попробовать это, добавьте следующие строки впостроить.Gradle в

splits {
    abi {
        enable true
        reset()
        include 'x86', 'armeabi-v7a'
        universalApk true
    }
}

в visual studio community edition 2017 иногда выбор поддерживаемых ABIs из параметров Android не будет работать.

в этом случае, пожалуйста, убедитесь, что .csproj имеет следующую строку и не дублирует строки в тех же конфигурациях сборки.

 <AndroidSupportedAbis>armeabi;armeabi-v7a;x86;x86_64;arm64-v8a</AndroidSupportedAbis>

для редактирования,

  1. разгрузите свой проект Android
  2. щелкните правой кнопкой мыши и выберите Редактировать проект ...
  3. убедитесь, что у вас есть выше линии только один раз в построить конфигурацию
  4. сохранить
  5. щелкните правой кнопкой мыши на вашем проекте android и перезагрузите

для genymotion на mac я получал ошибку INSTALL_FAILED_NO_MATCHING_ABIS при установке моего apk.

в моем проекте не было никакого "APP_ABI", но я добавил его соответственно, и он построил только один apk для обеих архитектур, но он работал. https://stackoverflow.com/a/35565901/3241111


это сработало для меня ... Android > Скрипты Gradle > сборка.gradle (модуль: app) добавить внутри android*

android {
  //   compileSdkVersion 27
     defaultConfig {
        //
     }
     buildTypes {
        //
     }
    // buildToolsVersion '27.0.3'

    splits {
           abi {
                 enable true
                 reset()
                 include 'x86', 'armeabi-v7a'
                 universalApk true
               }
    }
 }

enter image description here


На Android 8:

apache.общее.io: 2.4

Он дает INSTALL_FAILED_NO_MATCHING_ABIS, попробуйте изменить его на 2.5 или 2.6, и он будет работать или комментировать его.


Это случилось со мной. Я проверил менеджер SDK, и он сказал мне, что у того, который я использовал, было обновление. Я обновил его и проблема ушла.


есть простой способ:

  1. отключите подключенное устройство
  2. закройте Android Studio
  3. перезапустите Android Studio
  4. подключите устройство с помощью USB-кабеля
  5. Нажмите кнопку Run и перейти на кофе-брейк