Что такое cpu abi
Android Virtual Device (AVD) – какой CPU / ABI я должен выбрать?
При создании AVD существует три варианта выбора для CPU / ABI:
Каковы различия и какие из них выбрать? Есть ли тот, который охватывает большинство устройств?
Согласно документации разработчика Android, вы должны фактически создать виртуальное устройство для всех фреймворков и платформ, на которых вы собираетесь запускать код, поскольку большинство мобильных устройств на рынке в настоящее время работают на архитектуре ARM. Вы все равно должны проверить свои Код на отдельном виртуальном устройстве для каждого уровня фреймворка, который поддерживает ваш код.
Изображение системы
Рекомендуемые. Хотя у вас может быть одно или несколько устройств на базе Android, на которых можно протестировать ваше приложение, маловероятно, что у вас есть устройство для каждой версии Android, поддерживаемого вашим приложением. Хорошая практика загрузки системных изображений для всех версий Android, поддерживаемых вашим приложением, и тестирования вашего приложения на них с помощью эмулятора Android.
90% мобильных устройств оснащено ARM. Так что это будет лучший вариант
Вы должны выбрать ARM, так как это старый процессор, который использует почти мобильные телефоны.
Atom Emulation работает быстрее, поэтому я буду использовать их для разработки и окончательной проверки в режиме arm или с помощью реального телефона.
В современных телефонах Android есть три основные архитектуры процессора. ARM, пожалуй, самый распространенный, так как он оптимизирован для потребления батареи. ARM64 – это эволюция оригинальной архитектуры ARM, которая поддерживает 64-битную обработку для более мощных вычислений и быстро становится стандартом в новых устройствах.
Русские Блоги
Android CPU ABI
Кратко об ABI
В разных телефонах Android используются разные процессоры, поэтому они поддерживают разные наборы команд. Каждая комбинация процессора и набора команд имеет собственный двоичный интерфейс приложения (или ABI). ABI может очень точно определить, как машинный код приложения взаимодействует с системой во время выполнения. Вы должны указать ABI для каждой архитектуры ЦП, которая будет использоваться приложением.
Типичный ABI содержит следующую информацию:
Несколько Android CPU ABI
Архитектура процессора | описание |
---|---|
armeabi | ARM v5TE 5-го поколения, использующий программное вычисление с плавающей запятой, совместим со всеми устройствами ARM, высокая универсальность, низкая скорость |
armeabi-v7a | ARM v7 7-го поколения, использующий аппаратные операции с плавающей запятой, с расширенными расширенными функциями |
arm64-v8a | 8-е поколение, 64-битное, включая AArch32 и AArch64, два состояния выполнения, соответствующие 32, 64-битным |
x86 | Intel 32 бит, обычно используется для планшетов |
x86_64 | Intel 64 бит, обычно используется для планшетов |
mips | Меньше контактов |
mips64 | Меньше контактов |
Установите соответствующую поддержку для APK
Просмотр ABI процессора
Обычно мы можем просмотреть архитектуру ABI, поддерживаемую ЦП, следующим образом:
Просмотр через команду adb
1. Подключаем телефон к компу
2. Откройте командное окно cmd и введите команду adb shell.
3. Затем введите команду cat / proc / cpuinfo.
Русские Блоги
(Воспроизводятся) Как бороться с системной системой CPU / ABI для цели
Нажмите [Computer] на рабочем столе, затем нажмите [Свойства системы] над всплывающим интерфейсом, за которым следуют левая кнопка в панели [Система]. [Изменить настройки]
В это время появится панель [Свойства системы], щелкните [Advanced] выше этой панели, затем выберите переменные среды ниже интерфейса.
Далее, обязательно добавьте переменные среды ниже [User Carriable XXX] [ANDROID_SDK_HOME 】, Не забудьте добавить эту переменную среды в первой коробке переменной окружающей среды, которая может быть предоставлена самими, как показано
Затем перезапустите Eclipse, нажмите Создать симулятор Android, попробуйте успешно
Если вы не можете открыть Android SDK Manager, загрузите три файлы для ARM EABI V7A System Image, Intel X86 Atom System Image Image Image Image.
Когда вы загружаете вышеприведенные три файла, вы должны сначала щелкнуть [Tools] над интерфейсом, затем выберите [Опция], и установите внешнюю сеть соединения, чтобы загрузить.
Попробуйте еще раз создать открытие виртуального машины Android, чтобы успешно создавать виртуальные машины Android!
Установить не удалось CPU ABI несовместимый на устройстве с помощью intellij
Я видел некоторые вопросы об этом, но ни с реальными ответами, ни с деталями. Вот мой случай:
У меня есть приложение, которое использует Google Maps API v2, который работает просто отлично. Недавно я узнал, что не могу установить его на этой Не устройство на основе ARM.
чтобы прибить проблему, я работаю с образцами Google Maps, предоставленными с SDK (sdkextrasgooglegoogle_play_servicessamples)
что дает мне то же сообщение об ошибке во время установки:
Я получаю это сообщение только на реальном устройстве с помощью Intellij (12.1.1)
он отлично работает как с Eclipse на реальном устройстве, так и с Intellij на эмуляторе, настроенном с CPU: Intel Atom (x86)
любая помощь будет высоко ценится!
обновление
как и ожидалось, то же самое происходит с Android Studio
3 ответов
по умолчанию, IntelliJ предполагает, что libs папка в корне модуля Android содержит собственные библиотеки, даже если она просто содержит банки. Таким образом, он упаковывает APK, делая его похожим на родные библиотеки. У меня просто была аналогичная проблема, когда мое приложение не имело собственного кода и работало на эмуляторе по умолчанию, но получило предупреждение ABI при установке на эмулятор Genymotion. Чтобы исправить это, скажите IntelliJ (или Android Studio), что ваши библиотеки не являются родными код:
последний Genymotion не будет поддерживать двоичный ARM. Если у вас есть собственный код, скомпилированный для ARM, вы можете использовать Genymotion-ARM-Translation. Просто перетащите этот файл в домашнюю папку Genymotion и перезагрузитесь.
В Android studio исправьте эту проблему:
1 Скачать Genymotion-ARM-Translation_v1.1.zip
2 перетащите zip-файл в работающее виртуальное устройство и нажмите ok
3 перезапустить виртуальное устройство Genymotion
INSTALL_FAILED_CPU_ABI_INCOMPATIBLE with Android project
Every story has its roots so do this.
I have lost almost 2days trying to find solution to this problem, so i decided to contribute my experience so it might help folks out there like me. “This error might occur for different reasons and the solution is different for each reason,finding the right cause is the key to solve the problem.” I would like to thank Ethan Keiser for his solution that saved me a lot of time.Below are some of the reasons and solutions for this error.
Reason 1 :
Let me explain why i faced this error, recently i am using Signalr(Chatting library from Microsoft) in my project.Everything went fine like integration,testing,dynamic updating data,etc.But all of sudden things went south when i tried to install the app in android tablets.There our villan enters into the play,whenever i tried to install in tabs android studio simple shows a popup with error INSTALL_FAILED_CPU_ABI_INCOMPATIBLE with Android project.
Solution
According to my assessment after quite research, reason for this problem in my case is, Microsoft have not bundled the Signalr SDKs properly for android so there’s been a conflict internally in jar files.By replacing the jar files properly that i found here solved my problem.
If you are using Signalr in your project this might be one of the reason, so give it a try.
Reason 2:
If you try to install the app manually make sure you are installing the app the with same version or higher than the existing version(if the app already installed) else there are chances this error might come into light.
Solution
Try to uninstall the app if it was already installed or install the app with higher version code than already installed app.
Reason 3:
By default, IntelliJ assumes that the libs folder in the root of an Android module contains native libraries, even if it just holds jars. Thus, it packages the APK making it look like these are native libraries. I just had a similar issue where my application had no native code and would work on the default emulator, but got the ABI warning when installing on the Genymotion emulator. To fix this, tell IntelliJ (or Android Studio) that your libraries are not native code:
Solution
Things to ignore
Conclusion
Above three are possible reasons for this error,there are many situations in which you encounter this error, Try to evaluate what you included recently in your project and search this error with that components integration this might narrow down the solutions you have to try.