Я пытался переустановить апк
$adb install -r new.apk
И это показывает ошибку:
Failure [INSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES]
Одним из решений является удаление и установка new.apk, который работает нормально.
Но мне интересно, могу ли я пересобрать apk и переустановить без деинсталляции. Например. изменить некоторые настройки в AndroidManifest.xml или не подписывать APK и т. д.
Было бы очень признательно, если бы вы могли рассказать мне все значение слова "INSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES".
Ответы:
Это означает, что новая копия вашего приложения (на компьютере разработчика) была подписана с помощью другого ключа подписи, чем старая копия вашего приложения (установленная на устройстве / эмуляторе). Например, если это устройство, вы, возможно, поместили старую копию с другого компьютера разработчика (например, с компьютера другого разработчика). Или старый подписывается вашим рабочим ключом, а новый подписывается вашим отладочным ключом.
источник
debug.keystore
) на новую машину.debug.keystore
нет в каталоге вашего проекта. Обычно это в вашем~/.android/
каталоге. (см. developer.android.com/guide/publishing/… )debug.keystore
). Выберите один из них в качестве главного хранилища ключей, скопируйте его на все остальные машины разработчика, заменив их существующее хранилище ключей.debug.keystore
). Как только я перестроил проект (используя Build-> Rebuild в Android Studio), ключи были синхронизированы.Я столкнулся с этим во время тестирования на новом Xoom. Я ранее установил свое приложение из Marketplace. Позже, пытаясь протестировать новую версию приложения, я столкнулся с этой ошибкой.
Я исправил это, удалив приложение, которое было установлено через Marketplace (просто удерживайте и перетащите в корзину). После этого я смог развернуть мою версию разработки без каких-либо проблем.
источник
Это случилось со мной, когда другой разработчик в команде создал наше приложение на аппаратном устройстве, на котором я пытался развернуть. Удаление приложения с аппаратного обеспечения решило мою проблему.
источник
adb uninstall <package name>
. Спасибо.Это команда для удаления приложения с устройства с помощью ADB:
источник
Я получил эту ошибку даже после удаления оригинального APK, который был загадочным. Наконец я понял, что настроил несколько пользователей на своем Nexus 7 для тестирования и что приложение все еще установлено для одного из других пользователей. Как только я удалил его для всех пользователей, ошибка исчезла.
источник
Я изменил имя пакета во время кодирования обновления, чтобы можно было отлаживать его на своем устройстве через Eclipse, не удаляя старую версию, которая была установлена. Не возвращая имя пакета, которое я использовал при попытке переустановить, я получил ту же ошибку. При использовании того же имени пакета переустановка прошла успешно.
источник
Просто удалите старую сборку с устройства и переустановите тоже самое. Поскольку device.keystore уже существует в устройстве, просто удалите сборку и переустановите APK, вот и все.
Спасибо
источник
Я столкнулся с другим вариантом использования, где я получил подобную ошибку. Когда я сначала получил ошибку, я запаниковал и удалил.
/data/data/{package.name}
После этого я попытался, и моя проблема все еще присутствовала. Затем я попытался удалить, это не удалось.Затем я удалил файл apk, присутствующий в
/system/app
(требуется доступ с правами root), и попытался удалить программу, и она прошла успешно.После этого я попробовал переустановить apk, все заработало.
источник
Что бы это ни стоило, я столкнулся с этой проблемой после добавления нового плагина в мой проект Cordova. У меня была Кордова, делающая сборки и установки непосредственно на устройстве через USB.
Я исправил это, удалив приложение с устройства, и при следующем развертывании не было никаких проблем.
источник
Если вы столкнулись с неудачным развертыванием на устройстве или эмуляторе Andorid с ошибкой «Failure [INSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES]» в окне вывода, просто удалите существующее приложение на устройстве или эмуляторе и повторите развертывание. В отладочных сборках будет использоваться отладочный сертификат, а в сборках выпуска будет использоваться настроенный сертификат. Эта ошибка просто сообщает вам, что сертификат приложения, установленного на устройстве, отличается от сертификата, который вы пытаетесь установить. В сценариях, не связанных с разработкой (магазин приложений), это может быть индикатором поврежденного или иным образом модифицированного приложения, которое небезопасно для установки на устройстве.
источник
Ничто сверху не помогло мне. Проблема для меня заключалась в том, что у меня был неправильный источник в моем пути сборки Java для android-support-v7-appcompat. Когда вы идете в Проект> Путь сборки> Настроить Путь сборки>. На вкладке Источник убедитесь, что у вас есть android-support-v7-appcompat / gen, android-support-v7-appcompat / libs и android-support-v7-appcompat / src и ничего больше. Нажмите OK, и это должно работать.
источник
У меня была та же ошибка сегодня, но проблема не была точно такой же. Я использую ADB с Android, установленным в VirtualBox . Я попытался установить разные версии моего приложения (подписанный / не подписанный, режим отладки / выпуска) и получил две ошибки:
INSTALL_FAILED_UID_CHANGED
иINSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES
.Теперь, глядя на
/data/data/{package.name}
, я нашел кучу файлов, которые все еще были там после удаления приложения. Я пыталсяrm -rf
их безуспешно: я получил ошибки ввода / вывода.Решение этого было:
vdfuse
(чтение / запись)Partition1
файл изображения с помощьюe2fsck
источник
У меня была такая же проблема, пока я не понял, что у меня запущен симулятор и adb пытается установить на него
источник
Поскольку проверка основана на имени пакета, вы можете изменить имя пакета в вашем config.xml или файл манифеста на другое имя, которое вы хотите.
При публикации вашего приложения не забудьте изменить название!
источник
У меня была эта проблема при попытке выполнить задание gradle
connectedDebugAndoidTest
(илиconnectedAndroidTest
) на Genymotion . Запуск его на обычном эмуляторе решил проблему.источник
Я думаю, ваше приложение установлено под другой учетной записью (функция режима нескольких учетных записей). Вы можете удалить приложение в меню «Настройки»> «Приложения»> «имя приложения»> «Удалить».
источник