когда я попытался обновить мое приложение с новой версией, имеющей ту же подпись, что и предыдущая, показывает выше ошибку.
Что мне не хватает?
когда я попытался обновить мое приложение с новой версией, имеющей ту же подпись, что и предыдущая, показывает выше ошибку.
Что мне не хватает?
Если вы устанавливаете приложение на свое устройство через adb install
, вы должны искать опцию переустановки, которая должна быть -r
. Поэтому, если вы выполняете adb install -r
, вы можете установить его без деинсталляции ранее.
Вы получаете эту ошибку, потому что приложение с именем пакета, аналогичным вашему приложению, уже существует. Если вы уверены, что раньше не устанавливали одно и то же приложение, измените имя пакета и попробуйте.
Иными словами, вот что вы можете сделать:
Это может означать, что приложение уже установлено для другого пользователя на вашем устройстве. Пользователи обмениваются приложениями. Я не знаю, почему они это делают, но они это делают. Поэтому, если один пользователь обновляет приложение, он также обновляется для другого пользователя. Если вы удалите одну из них, она не удалит приложение из системы с другой.
adb install -r exampleApp.apk
(-r
позволяет заменить существующую копию, добавьте -s
при установке на эмуляторе)
Убедитесь, что приложение подписано одинаково и имеет тот же вариант debug/release
Я установил псевдоним в своем ~/.bash_profile
, чтобы сделать его командой 2char.
alias bi="gradlew && adb install -r exampleApp.apk"
(Сокращение от Build and Install)
Этот топ-голосующий ответ не является правильным ответом.
Он пытается обновить не (удалить + переустановить) до более новой версии.
Не: удалите старое приложение с помощью adb -r; кеш/данные вашего приложения тоже будут удалены!
Чтобы сделать это правильно: загрузите новый apk на устройство и установите, нажав на apk.
Это обновит приложение и сохранит предыдущие данные кеша/приложения. Установка через ADB/Android studio не позволяет протестировать сценарий обновления программного приложения. Судя по тому, что я вижу, ADB, кажется, всегда выдает эту ошибку, независимо от версии обновленного apk.
Если проблема не устранена, попробуйте удалить приложение с помощью командной строки. просто добавьте команду adb uninstall com.example.yourpackagename
попробуйте переустановить снова. Это работает!
На моем планшете Android 5 каждый раз, когда я пытаюсь использовать adb для установки подписанного релиза apk, я получаю ошибку [INSTALL_FAILED_ALREADY_EXISTS]
.
Сначала я должен удалить пакет отладки. Но я не могу удалить с помощью диспетчера приложений устройства!
Если вы удалите отладочную версию с помощью диспетчера приложений, то мне придется заново запустить вариант отладочной сборки из Android Studio, а затем удалить его с помощью adb uninstall com.example.mypackagename
Наконец, я могу использовать adb install myApp.apk
для установки подписанного релиза apk.
Я столкнулся с той же проблемой с системным приложением на корневом телефоне; они не могут быть удалены в Настройках, и я не мог использовать adb install -r
, чтобы заменить его другой версией.
Решением, которое я нашел, было использование Titanium Backup Pro - Backup/Restore для выбора приложения, резервного копирования и удаления. Затем я смог переустановить одноименное приложение с заменой без проблем.