Вручную установка обновленного APK не выполняется, поскольку "подписи не соответствуют ранее установленной версии"
Я создал глупые приложения, чтобы поделиться несколькими друзьями. Не нужно размещать его в магазине приложений.
Я построил первый apk
(подписанный), загрузил его на веб-сервер и все хорошо работало.
Возникла небольшая проблема, я ее исправил, перестроил, подписал с тем же хранилищем ключей и снова загрузил. Теперь кажется, что я не могу установить новый apk
. Отладчик говорит мне:
signatures do not match the previously installed version
Итак, я удалил старую версию, открыв ящик приложения и перетащив ее на кнопку "удалить". Открывая "Настройки → Приложения", я больше его не вижу. Я не вижу никаких следов приложения на своем устройстве.
Однако я все еще получаю сообщение об ошибке выше.
Возможно ли, что какая-то информация все еще задерживается на устройстве? Есть ли способ проверить это?
Ответы
Ответ 1
Да Возможно, если какое-то ваше старое приложение не будет удалено на 100% или его данные не будут удалены.
Пытаться:
adb uninstall "com.yourapp.yourapp"
Если вы точно не знаете, что поставить в качестве замены для "com.yourapp.yourapp", тогда вы просто открываете студию Android, запустите приложение, когда оно подключено к устройству, а затем посмотрите в окне отладки.
В нем говорится:
Waiting for device.
Target device: samsung-sm_t531-xxxxxxxxx
Uploading file
local path: C:\Users\myapp\app\build\outputs\apk\myapp.apk
remote path: /data/local/tmp/com.myapp.myapp
Installing com.myapp.myapp
DEVICE SHELL COMMAND: pm install -r "/data/local/tmp/com.myapp.myapp"
pkg: /data/local/tmp/com.myapp.myapp
Success
com.myapp.myapp в этом случае - это имя пакета, который вы должны использовать для удаления.
Ответ 2
У меня была такая же проблема, и решение adb uninstall
не работало для меня.
Что работало
- На устройстве перейдите в меню "Настройки- > Приложения"
- Выберите свое приложение, и в меню выберите "Удалить для всех пользователей"
Даже если я ранее удалил приложение, он все еще был в списке.
Ответ 3
Для меня, если приложение предназначено для распространения, решение adb
является не-go: вы не можете попросить одного друга установить на вашем компьютере Android файл sdk!
Здесь вы можете отредактировать AndroidManifest.xml
и увеличить атрибут android:versionCode
в теге <manifest>
(который является корневым элементом).
Это приведет к обновлению установленного приложения
Ответ 4
Если вы видите это при проведении подключенных тестов, обязательно удаляйте .test при удалении через adb, потому что удаление из приложения → настроек не позволяет избавиться от тестовый пакет
adb uninstall your.broken.package.test
если вы просто удалите с помощью
adb uninstall your.broken.package
ваш тестовый пакет все равно будет там. Это было только то, что я заметил при использовании командной строки gradle, не сталкивался с этой проблемой в студии Android.
Ответ 5
Удалите старое приложение с телефона или эмулятора и попробуйте снова запустить.
Ответ 6
Я получил эту ошибку при попытке установить выпуск при подписании сертификата.
исправлено с: приложение Gradle task uninstallRelease, а затем installRelease снова
Ответ 7
Для пользователей Unity, которые приходят на этот вопрос, лучшим ответом будет ответ @Ehsan выше.
adb uninstall "com.yourapp.yourapp"
Я уже установил предыдущую версию на свое устройство Android, затем выбрал " Development Build
в Unity> "Настройки сборки", из-за чего APK использовал другую подпись. Если вы устанавливаете через Android GUI, он на самом деле не удалит все, поэтому вам придется использовать ADB.
Ответ 8
Удаление приложения с мобильного устройства и запуск его снова решил проблему для меня.