INSTALL_FAILED_UPDATE_INCOMPATIBLE, когда я пытаюсь установить скомпилированный.apk на устройство
Я скомпилировал лаунчер Trebuchet из CyanogenMod 9 и пытаюсь установить его с помощью adb:
$ adb install out/target/product/generic/system/app/Trebuchet.apk
3986 KB/s (7870141 bytes in 1.928s)
pkg: /data/local/tmp/Trebuchet.apk
Failure [INSTALL_FAILED_UPDATE_INCOMPATIBLE]
Я пробовал на Nexus S с CM9 и Galaxy Nexus со стоковым JB. Почему я получаю эту ошибку?
РЕДАКТИРОВАТЬ: В моем случае я попытался переустановить пакет системы с помощью диспетчера пакетов. Это не поддерживается, поэтому я получил эту ошибку. Источник ошибки может отличаться в вашем случае.
32 ответа
Я просто переименовал пакет, и он работал для меня.
Или, если вы используете Ionic, вы можете удалить приложение и повторить попытку, это происходит, когда ionic обнаруживает, что приложение, которое вы развертываете, не из той же сборки. Это часто случается, когда вы переходите с ПК.
Это означает, что приложение, которое вы хотите установить, уже установлено. просто удалите старую и попробуйте снова.
Пытаться
adb uninstall package-name
Меня устраивает. Я удалил свое приложение с помощью Titanium Backup. Тем не менее, я думаю, что резервная копия Titanium полностью не удалила мое приложение.
Удаление приложения будет достаточно, чтобы избежать этой проблемы.
INSTALL_FAILED_UPDATE_INCOMPATIBLE
но иногда даже удаление сообщения возникает снова, это происходит в Android OS 5.0 +, так что это решение:
Идти к Settings
> Apps
и вы найдете ваше приложение с сообщением:
Мы должны удалить вручную для всех пользователей!, тогда мы можем установить наше скомпилированное приложение без проблем.
Другие варианты:
- Удалите старое приложение и установите снова.
Используйте команду Android Debug Bridge:
adb удалить [ИМЯ ПАКЕТА]
Два способа, которыми можно работать
1: удалить приложение с мобильного устройства вручную
2: Открыть командную строку, путь трассировки adb
и выполните следующую команду
adb uninstall your_package_name
- перейдите в папку adb \sdk\platform-tools\
- тип cmd
- введите: adb remount в командном окне
- adb shell
- су
- rm /system/app/YourApp.apk
- Перезагрузите ваше устройство
Вопрос был в том, почему он получает эту ошибку. Удаление решит эту проблему, но в моем случае, когда я устанавливал скомпилированную версию apk, возникла проблема. Я пытался создать обновление для моего приложения. Итак, что я сделал, я построил подписанный apk, а затем попытался установить apk, и apk установился идеально. Итак, вместо удаления старого apk, мне пришлось подписать новое обновление, а затем установить его.
Это может быть из-за того, что у вас есть более одного пользователя на вашем устройстве, и вы только что удалили приложение на одном (оставляя apk все еще присутствующим для других).
Я удалил во всех учетных записях, и это сработало впоследствии.
Это может произойти, если вы подпишете свою заявку другим сертификатом. Вы всегда можете использовать
adb install -r myapk.apk
перезаписать существующий apk на вашем устройстве, но вы все равно получите ошибку, если вы подписали новый apk другим сертификатом, чем установленный apk.
В этом случае вам нужно будет удалить apk с вашего устройства перед попыткой установки. Однако это также может повлиять на ваше приложение, поскольку ваша первоначальная подпись может быть привязана к определенным API-разработчикам, поэтому вам может потребоваться обновить консоль новыми учетными данными.
Если ваше устройство поддерживает несколько пользователей, возможно, вам придется удалить приложение для каждой учетной записи.
Я обычно использую ADB, и это делает трюкadb uninstall <your-package-name>
Я установил файловый менеджер Astro и искал предыдущую версию apk-файла, нашел ее на SD-карте и удалил apk-файл с помощью файлового менеджера Astro.
Если APK встроен в проект с файлом Android.mk. Может быть, это из-за знака сертификата был изменен.
в моей проблеме я добавил LOCAL_CERTIFICATE:= платформа. так как оригинальный apk подписан без этого тега.
Это может быть повышено, когда приложение установлено на вашем устройстве как другая подпись, а затем приложение (apk), которое вы пытаетесь установить.(Простыми словами, более раннее приложение создается с помощью "System-A ", а теперь создается приложение с помощью "System-B"и пытается установить) Вы можете решить эту проблему одним или другим способом, как показано ниже.
Опция 1:
Uninstall the Application in your Device and install the New APK
Вариант 2:
Примечание: эта опция применима только в том случае, если у вас есть доступ как к старым, так и к новым системам, через которые производится сборка Apk соответственно.
если вы не хотите удалять APk или его не разрешено, вы можете получить ключ отладки, System-A и ту же Debug to System-B
шаги по заполнению формы ключа отладки "Система-А"
Зайдите в Терминал, введите
./gradlew signingReport
вы узнаете свои результаты, как показано ниже
Variant: debug Config:
debug Store: /home/user/debug.keystore
Alias: AndroidDebugKey
MD5: CS:7B:E3:51:C5:2E:36:AA:3F:66:BA:ED:40:DB:86:25
SHA1: 2A:BB:C5:4E:64:4E:FE:12:4C:4E:2B:4E:4E:42:4E:4E:4E:4E:63:83
Valid until: Wednesday, May 6, 2048
получите файл "debug.keystore" из указанного выше места и перенесите его в "System-B", затем перейдите к
Android studio >> File >> Project Structure >> SigningConfigs
set the location of the "debug.keystore" to Store File and then ok
Теперь соберите Apk в своей "System-B" и запустите, он будет работать
В моем случае не было никакой версии приложения, которую я мог найти через диспетчер устройств или Astro.
Я закончил тем, что сделал:
1) Загрузите последнюю версию приложения из магазина приложений
2) Приложение все еще не было видно в диспетчере устройств, пока я не перезапустил свое устройство.
3) Удалить приложение из диспетчера устройств
4) Запустите мой проект снова
5) все работает
Надеюсь, это поможет кому-то
Я просто потратил час, пытаясь отладить это, а затем понял, что я подключен к своему эмулятору, а не к телефону. Поэтому, несмотря на то, что я успешно удалил приложение на своем телефоне, оно все равно не работало. Глупая ошибка, но может это кому-то поможет.
C:\android-sdk\platform-tools\adb.exe: сбой команды с кодом выхода 1
Вывод ошибки: adb: не удалось установить app \ platform \android\app\build\output \apk\debug\app-debug.apk: Ошибка [INSTALL_FAILED_UPDATE_INCOMPATIBLE: пакет com.example.
app1
подписи не соответствуют ранее установленной версии; не обращая внимания!]
Решение:
У вас уже есть приложение app1
установлен на телефоне (в основном загрузка с игровой консоли или изменение ключа загрузки)
Удалите приложение.
Больше деталей:
Возможно, вы уже загрузили это приложение в игровой магазин, используя ключ загрузки, игровая консоль применила к нему собственную подпись. Вот почему приложение на вашем телефоне, загруженное из Google Play, не имеет той же подписи, что и ваш ключ загрузки.
При удалении приложения не существует версии приложения Play Store, поэтому при установке новой версии на телефон происходит несоответствие.
Надеюсь, это поможет.
В моем случае я получаю эту ошибку, но приложение не отображается в эмуляторе. В этом случае попробуйте удалить apk с помощьюadb command
adb uninstall <package-name>
В телефонах Samsung Galaxy есть функция, известная как " Удаление защищенных папок приложения из этого решенного". Проблема для меня.
также adb uninstall packagename не может удалить приложение из безопасной папки.
Вы должны подписать свое приложение, а затем запустить его!
Если вы готовите новое обновление для своего приложения, продолжить работу не проблема. В конце концов, перед выпуском подготовленной версии, когда вы подпишете приложение, проблема будет решена, и у пользователей не будет проблем с установкой вашего приложения.
Я получил ту же проблему и сделал следующее, чтобы исправить это.
- Настройки> Хранение> Очистить кэшированные данные
- Настройки> Приложения> Удалить показанные там приложения. Я удалил свои приложения, но он показывал там.
- Перезагрузите, а затем все прошло нормально.
- Зайдите в Настройки / Приложения / Поиск вашего приложения и удалите...
- открыть командную строку и "удалить adb"
Это сработало для меня
В моем случае я установил приложение из Playstore и после того, как я пытаюсь запустить его из Eclipse или Android Studio, чтобы он попытался установить снова на тот APK, который не позволяет.
Итак, прежде всего вы должны удалить этот Siged APK и после этого вы должны попробовать.
Спасибо.
Зайдите в Настройка / Приложения / Поиск вашего приложения и удалите...
Это сработало для меня
Для пользователей MIUI, кроме обычной опции отладки USB, обязательно включите следующие параметры:
Установить через USB
Отладка по USB (настройки безопасности)
затем примите приглашение при повторной установке приложения.
Это случилось со мной, когда я установил сборку с помощью Instant Run и удалил ее из Google Play. По какой-то причине данные из Instant Run все еще находятся на устройстве и не могут снова установить / удалить приложение.
Единственный способ это исправить: - отключить Instant Run в Android Studio - установить из Android Studio (это должно работать только отсюда) - удалить приложение
теперь он должен быть чистым для установки из Google Play или ADB.
Я не вижу, чтобы кто-то упоминал мой случай, поэтому позвольте мне добавить его - это происходит, когда вы создаете приложение в одном режиме (например, Dev), а затем пытаетесь переопределить его в другом режиме (например, Production).
Решение такое же, как и для других случаев - удалите приложение на устройстве / симуляторе и запустите снова.
Если вы пытаетесь выполнить отладку с другого компьютера, чем изначально, вы получите ужасную ошибку INSTALL_FAILED_UPDATE_INCOMPATIBLE. Однако есть способ продолжить, не удаляя приложение и не теряя свои данные.
Чтобы узнать, как передать debug.keystore, который требуется, чтобы вы не получали сообщение "На устройстве уже есть приложение с тем же приложением, но с другой подписью. Чтобы продолжить, вам придется удалить существующее приложение". (и потеряете свои данные). См. Раздел Обновление приложения на другом компьютере с тем же debug.keystore в android.
Если в вашем файле манифеста есть эта строка -
андроид:sharedUserId="android.uid.system"
вызывает эту ошибку! просто прокомментируйте эту строку, и вы готовы!
Это произошло, если вы соберете свой apk с другого компьютера и обновите его с другого компьютера.
Ты просто бежишь
adb uninstall {{package_name}}
. Вот и все. Теперь вы попробуете сборку.