Помилка [INSTALL_FAILED_UPDATE_INCOMPATIBLE], навіть якщо додаток не встановлено


206

Коли я намагаюся розгорнути свій додаток на пристрої Android, я отримую таку помилку:

Deployment failed because of an internal error: Failure [INSTALL_FAILED_UPDATE_INCOMPATIBLE]

Мені відомо це питання, але додаток не встановлено. Він був видалений / частково видалений Visual Studio під час спроби розгортання.

Раніше я це вирішував, завантаживши додаток із магазину google play, а потім видаливши його з налаштувань-> Диспетчер програм. Однак зараз я отримую помилку "несумісне оновлення", коли я намагаюся її встановити.

Я намагався видалити його за допомогою Titanium Backup та кількох інших речей, але не пощастило.

РЕДАКТ 1

Я зрозумів (від @Motz), що не згадував, що очевидне рішення не працює. А саме додаток не відображається в меню Налаштування-> Програми


Яка версія встановлена ​​на вашому пристрої?
Haresh Chhelana

Це може статися, якщо для вашої програми потрібна мінімальна версія SDK, вища для вашої версії ОС пристрою.
Хареш Чхелана

Перевірте logcatдодаткові підказки при спробі встановити додаток. Повинно бути запис у журналі з більш детальною інформацією про те, чому він не працює.
Джефф Міксон

Яка версія Android вашого телефону?
Дарпан

Моя версія Android 4.4.2. Мінімальний SDK добре, оскільки я встановив додаток раніше і тому, що я перевірив його.
YKa

Відповіді:


565

Я бачив це кілька разів. Зазвичай це пов'язано з тим, що на моєму телефоні є підписана версія випуску, а потім намагаюся розгорнути версію налагодження зверху. Він застрягає в недійсному стані, де його не повністю видалено.

Для мене працює рішення - відкрити командний рядок і ввести:

adb uninstall my.package.id

Це зазвичай завершує видалення, щоб я міг продовжувати розвиток.

Удачі!


1
Це працювало для мене, коли перезапуск та видалення програми не робили.
Агресор

26
Stackoverflow повинен мати список улюблених відповідей. Цей твір чаклунства працює як шарм.
Джош

2
Якщо ви використовуєте Android-пристрій для тестування і якщо ви встановлюєте додаток на іншій машині, а потім ви намагаєтесь встановити на свою машину, ця помилка з’явиться. Це рішення працює.
SajithK

Ви врятували мій день. У диспетчері програм встановлена ​​пошкоджена версія програми (вона не відображається в розділі програм). Я хотів видалити його перед розгортанням
Anees Deen

1
Бог благословить StackOverflow, і ви, сер, для вирішення питань Xamarin слід звернутися: \
Ерік Ву

79

Не потрібно робити це adb uninstall, просто перейдіть до свого, settings->appsа потім видаліть звідти. Ви побачите, що ваша заявка сірою є.

Проблеми, як правило, стосуються версії випуску та налагодження, наприклад @Kiliman, зазначеної тут.


1
Вибачте @Motz, це насправді було однією з перших речей, які я зробив, але додаток не під додатками ... Я відредагував своє запитання зараз
YKa

ОНОВЛЕННЯ: При використанні Android 5.0 (льодяник) це також працює. Додаток розміром 0,00 КБ показує, і я можу його легко видалити.
YKa

2
Налаштування> Програми> видалення не завжди працює. Іноді виникають проблеми з декількома профілями користувачів, які не видаляються для всіх користувачів. Або додаток видалено на півдорозі в поганому стані. adb uninstallвзяв би за ці сценарії.
Вісбюкі

Це не завжди так. Часто я робив це в минулому, і це спрацювало чудово. Але сьогодні мого додатка просто не було. І це не було наприкінці списку програм (іноді вам доведеться видалити для всіх користувачів, а не просто видаляти для поточного користувача). adb uninstallпрацював на відмінно.
я--

30

Видалення програми було б достатньо, щоб уникнути цієї проблеми.

INSTALL_FAILED_UPDATE_INCOMPATIBLE

але іноді навіть видалення повідомлення піднімається знову, воно відбувається в ОС Android 5.0 +, тому це рішення:

Перейдіть до Settings>, Appsі ви знайдете свою програму з повідомленням:

"Не встановлено для цього користувача"

, ми повинні видалити вручну всі користувачі з можливістю:

"Видалити для всіх користувачів"


1
Так, це працює. Після видалення для всіх користувачів ionic cordova run android --deviceпрацює! Ткс!
Дієго

10

Ви повинні переконатися, що додаток видалено.

У телефоні спробуйте перейти settings/applicationsта показати список усіх встановлених програм, а потім переконайтесь, що програма видалена для всіх користувачів (у моєму випадку я видалив програму, але все ж для інших).


5

Я зазвичай стикаюся з цією проблемою на пристроях версії Android 5.0+. Оскільки він має облікові записи багатокористувацьких профілів на одних і тих же пристроях. Кожен додаток встановиться як окремий екземпляр для всіх користувачів. Не забудьте видалити всіх користувачів, як показано нижче на скріншоті.

введіть тут опис зображення


5

У мене випадково було підключено два пристрої.

Після видалення одного пристрою INSTALL_FAILED_UPDATE_INCOMPATIBLEпомилка пішла.


Також трапляється , якщо емулятор випадково працює , коли ви не очікували його
ревіти

2

Видаліть apk (додаток, який ви працюєте) зі свого пристрою Android та запустіть ще раз.


1

Ви можете просто додати параметр для запуску, див.

Run --> Parameters

В полях параметри add -cleaninstall

Тепер просто запустіть, вони завжди будуть робити глибоку чистку перед установкою.


1

Добре видаліть додаток, але ми визнаємо, що дані не повинні бути втрачені? Це можна вирішити, оновити versionCode та versionName та спробувати програму в режимі «Випуск».

Наприклад, це важливо, коли ми хочемо спробувати міграцію нашої Бази даних. Ми можемо порівняти нашу програму в магазині Play з фактичною програмою, яка ще не випущена.


1

У моєму випадку. Я встановив додаток до версії. І після видалення програми з мого пристрою. Річ прекрасно працює.


0

У моєму випадку я отримував це під час переключення мінімальної цільової версії андроїда та коли я повернувся до початкової (коли я створив проект спочатку). Так для цього видалення працювало. Але коли я змінив версію для Android на останню, я отримував її знову. Щоб виправити це, я перейшов до властивостей проекту Android та в розділі маніфесту Android, я додав назву пакета, наприклад, com.dotnetdreamer.net. Якщо у вас вже є назва пакету, ви можете просто перейменувати його на щось інше.


Я змінив "Цільову версію збірки" своєї програми з 4.4.2 на 5.0.1. Тепер я не можу оновлювати останню версію свого додатка для раніше випущеної версії, підписаної тим самим ключем. Чи можете ви надати будь-яку URL-адресу, що пояснює / обговорює це питання, як мені потрібно поділитися ним зі своїми клієнтами. Я використовую затемнення, а також намагався вирішити цю проблему своїм способом, але не можу знайти розділ "Android Manifest" у межах властивостей проекту. Чи можете ви допомогти? Спасибі
Абдул Рехман


0

Видаліть усі файли програм із телефону

Для автоматизації видалення програми на телефоні ви можете скористатися наведеними нижче кроками. Видалити дані програми та програми можна дуже корисно швидко та чисто.

Створіть текстовий файл із цим кодом і збережіть його як Uninstall.sh. Перейдіть у папку (куди ви її помістили) цього сценарію в терміналі і зробіть: sh Uninstall.sh YOURNAMESPACE

Тепер папку простору імен (включаючи збережені програми та базу даних) буде видалено.

  echo "Going to platform tools $HOME/Library/Android/sdk/platform-tools"
  cd $HOME/Library/Android/sdk/platform-tools
  echo "uninstalling app with packagae name $1"
  ./adb uninstall $1

Видаліть усі файли програм з ПК

Створіть текстовий файл з цим кодом і збережіть його як DeleteBinObj.sh.

find . -iname "bin" -o -iname "obj" | xargs rm -rf

Перейдіть у папку вашого проекту, де ви розміщуєте цей скрипт, і зробіть у терміналі: sh DeleteBinObj.sh


0

Якщо це допомагає комусь, я розгорнув свою програму для google play, коли я її видалив і спробував запустити налагодження на своєму пристрої (нова версія), я отримував це повідомлення про невдале оновлення.

Я не бачив додаток на своєму пристрої (його вже було видалено), тому я:

Перша версія знову встановлена ​​з google play

Відкриті налаштування / додаток / назва програми

Видалено дані

Очистив кеш

Видалено додаток

Тепер ви можете знову розгорнути на пристрої версію налагодження :)


0

Якщо ви використовуєте Samsung Device і випадково позначили ваш додаток для Samsung Knox, тоді вам потрібно видалити його з програми My Knox.

Видалення лише із загальних програм не видалить її з програми Knox. Це потрібно робити явно!


0

Використання Ionic з Cordova за допомогою командного рядка ...

ionic cordova run android --prod

Я наткнувся на це і виявив, що видалив версію випуску з попередньої тестової установки, але мав стару версію налагодження, яка була в ящику додатків, яку я пропустив. Я відключив свій пристрій від комп’ютера, відкрив шухляду додатка і використав "Шукати програми ..", щоб знайти всі екземпляри програми для їх видалення. Потім я знову підключив пристрій до комп’ютера та альта, це спрацювало!

Дякуємо за допомогу всім!


0

Сподіваюся, це допоможе комусь у майбутньому, але просто перейдіть до вас config.xml, усередині widgetтегу, змініть id за замовчуванням ( io.ionic.starter) на власний ідентифікатор. Погляньте на це для імен пакетів Android.


0

Невідповідність вашої попередньої поточної програми та нового APK

Тож будь ласка, видаліть попередній додаток та gradlew очистіть та знову встановіть apk

react-native run-android

реагувати-рідний run-ios


0
  1. Видаліть додаток із підключеного пристрою (емулятора чи мобільного пристрою)
  2. отримав термінал у папці проекту cd android 3 наступного запуску, ./gradlew cleanочистіть збірку 4 cd..та запустіть нижче 5 react-native run-android
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.