устанавливаемый пакет содержит исходный код несовместимый с cpu abi устройства что делать honor 9a
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.
Установить не удалось 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 при установке приложений на целевую страницу, чтобы получить это сообщение об ошибке, как решить проблему?
Хотите знать, есть ли какая-либо архитектурная мудрая проблема, иначе?
ABI (Application Binary Interface) указывает детали, характерные для архитектуры машины. Из Википедии:
ABI охватывают такие детали, как тип данных, размер и выравнивание; Вызывающее соглашение, которое контролирует передачу аргументов функций и возвращает полученные значения; Номера системных вызовов и как приложение должно выполнять системные вызовы в операционной системе; А в случае полной операционной системы ABI – двоичный формат объектных файлов, программных библиотек и т. Д.
Обнаружено это в файле PackageManager.java:
Код возврата установки: он передается в IPackageInstallObserver помощью installPackage(android.net.Uri, IPackageInstallObserver, int) если установленный пакет содержит собственный код, но ни один из них не совместим с CPU_ABI устройства.
Ваш apk должен содержать некоторый двоичный код, скомпилированный (с использованием NDK?) Для другого компьютера / эмулятора, когда он устанавливается на какой-либо другой машине (эмулятор).
Я видел ссылку на эту тему в форуме поддержки BlueStacks. Если вы ссылаетесь на BlueStacks, вы получите эту ошибку при попытке установить приложение, имеющее собственный ARM-код, и для работы над архитектурой X86 требуется бинарный перевод.
[EDIT]: Если у вас есть какие-либо вопросы, связанные с BlueStacks, отправьте их в сообществе BlueStacks, вы также можете найти ответы на некоторые распространенные проблемы (например, этот).
Я изменил avd на целевую версию sdk, и он отлично работал
Устанавливаемый пакет содержит исходный код несовместимый с cpu abi устройства что делать honor 9a
Анастасия, здравствуйте! Приносим извинения за задержку в ответе. Нам очень жаль, что у Вас возникли подобные трудности.
Для решения Вашего вопроса рекомендуем выполнить следующие действия:
Если у Вас есть карта памяти, то Вы можете перенести на карту памяти медиафайлы, такие, как изображения, видео, аудио, архивы и прочие файлы. Также имеется возможность сохранять кэш приложений на карту памяти, если такую функцию поддерживает само приложение. К сожалению, Ваш планшет не поддерживает возможность переноса или установку самих приложений на карту памяти. Это особенность дизайна, введенная начиная с Android 6.0 и выше. Она помогает обеспечить бесперебойную работу системы и безопасность данных.
Для переноса данных перейдите в приложение «Файлы» > «Память планшета» > «Внутренняя память», после чего перейдите в папку с нужными Вам файлами. Затем нажмите и удерживайте нужный Вам файл до тех пор, пока напротив него не появится отметка, после чего поставьте отметки напротив других файлов и нажмите «Переместить». После чего перейдите в «Файлы» > «Память телефона» > «SD-карта», выберите нужную Вам папку и нажмите «Переместить». Обратный перенос выполняется аналогичным способом.
Для очистки памяти Вы можете выполнить следующее:
1. Произведите очистку памяти, используя «Диспетчер планшета». Перейди в приложение «Диспетчер планшета» и нажмите кнопку «Оптимизация». После перейдите в раздел «Очистка памяти», выберите данные, которые хотите удалить, и нажмите на кнопку «Удалить».
2. Выполните очистку кэша системы через меню Recovery:
1) Отключите Ваше устройство.
2) Нажмите и удерживайте одновременно кнопки «Включить» и «Громкость вверх».
3) В появившемся меню выберите «wipe cache partition». После окончания процедуры выберите «reboot system now».
3. Отключите автообновление приложений («Play Market» > «Настройки» > «Автообновление» > «Никогда»). В этом случае приложения, установленные из «Play Market», необходимо обновлять вручную.
Если вышеописанные действия не привели к положительному результату, рекомендуем произвести восстановление заводских настроек. Восстановление заводских настроек полностью очищает систему и переустанавливает имеющуюся версию ПО. Это способствует устранению некорректностей в работе устройства. Ознакомиться со всей необходимо информацией по сбросу настроек можно по ссылке: https://vk.com/doc-29060604_569123993. Перед выполнением этого действия выполните резервную копию данных: https://vk.com/doc-29060604_585013624.
Если у Вас появятся вопросы, мы будем рады Вам помочь.
Гальперина Ирина, здравствуйте! Нам очень жаль, что у Вас возникли подобные трудности.
Вероятно, в процессе установки обновления возник программный сбой. Для устранения возможных системных неполадок, которые возникли после обновления устройства, рекомендуется выполнить восстановление до заводских настроек через меню Recovery. Инструкция находится тут: https://vk.com/doc-29060604_569123993. Предупреждаем, что возврат к заводским настройкам приведет к удалению всех данных на устройстве. Поэтому если Вы ранее делали резервную копию, то сможете ее восстановить по инструкции: https://vk.com/doc-29060604_500573314.
В случае, если ситуация не решится в положительную сторону, то необходимо обратиться в авторизованный сервисный центр. Ознакомиться с инструкцией Вы можете тут: https://vk.com/doc-29060604_569124050.
Если появятся вопросы, мы будем рады помочь.
Евгений, здравствуйте! Приносим извинения за длительное ожидание. Поступил ответ на Ваше обращение. Сожалеем о возникших трудностях.
Возможно, данная неполадка связана с техническими ограничениями приложения. В этой ситуации мы рекомендуем Вам обратиться к разработчику данного приложения для уточнения информации. После этого, пожалуйста, обратитесь к нам повторно и предоставьте официальный ответ разработчика этого приложения.
INSTALL_FAILED_CPU_ABI_INCOMPATIBLE на устройстве с использованием intellij
Я видел некоторые вопросы об этом, но ни с реальными ответами, ни с деталями. Вот мой случай:
У меня есть приложение, которое использует API Карт Google v2, который работает отлично. Недавно я узнал, что я не могу установить его на этом устройстве, основанном не на ARM.
Чтобы решить проблему, я работаю с образцами Карт Google, предоставленными SDK (\ sdk \ extras \ google \ google_play_services \ samples)
Который дает мне то же сообщение об ошибке во время установки:
Я получаю это сообщение только на реальном устройстве с использованием Intellij (12.1.1)
Он отлично работает с использованием как Eclipse на реальном устройстве, так и с использованием Intellij на эмуляторе, настроенного с процессором: Intel Atom (x86)
Любая помощь будет высоко оценен!
ОБНОВИТЬ
Как и ожидалось, то же самое происходит с Android Studio
По умолчанию IntelliJ предполагает, что папка libs в корневом модуле Android содержит собственные библиотеки, даже если она просто хранит банки. Таким образом, пакет APK делает его похожим на родные библиотеки. У меня просто была аналогичная проблема, когда у моего приложения не был собственный код и он работал на эмуляторе по умолчанию, но получил предупреждение ABI при установке на эмулятор Genymotion. Чтобы исправить это, сообщите IntelliJ (или Android Studio), что ваши библиотеки не являются внутренним кодом:
Последний Genymotion не поддерживает ARM двоичный. Если у вас есть собственный код, скомпилированный для ARM, вы можете использовать Genymotion-ARM-Translation. Просто перетащите этот файл в домашнюю папку Genymotion и перезагрузитесь.
В студии android, исправить эту проблему:
1 Скачать Genymotion-ARM-Translation_v1.1.zip
2 Перетащите zip-файл в действующее виртуальное устройство и нажмите «ОК».
3 перезапуск виртуального устройства Genymotion