Похоже, что последний Android 4.2 представил это условие ошибки при установке, когда вы пытаетесь установить APK с более низкой версией. В предыдущих версиях Android можно было установить старый APK просто через adb install -r <link to APK>
. Для целей отладки мне часто нужно повторно протестировать старые APK; и флаг -r
заменит старую версию старых версий Android. Есть ли работа вокруг, чтобы игнорировать [INSTALL_FAILED_VERSION_DOWNGRADE]
?
Есть ли способ игнорировать INSTALL_FAILED_VERSION_DOWNGRADE при установке приложения с Android Debug Bridge?
Ответ 1
Похоже, что в последней версии инструментов adb есть "разрешить флаг понижения", который не показан в справке adb, но он отображается в справке "pm" на устройстве. Поэтому используйте:
adb install -r -d <link to apk>
Ответ 2
Вы можете попробовать и использовать adb uninstall -k <package>
, а затем установить старший apk.
Из руководства по использованию adb:
adb uninstall [-k] <package> - remove this app package from the device
('-k' means keep the data and cache directories)
Я пробовал это сам с моим apk, и, похоже, он работает для большинства данных (некоторые данные, такие как RawContacts, не были сохранены)
Ответ 3
Включили ли вы несколько учетных записей на своем устройстве (и нажмите apk через ADB)? Если это так, вам нужно удалить apk в каждой учетной записи. После полной деинсталляции ваш push будет в порядке.
Ответ 4
В моем случае это была устаревшая версия Служб Google Play, включенных в мой проект. Я использую Android Studio. Я запустил обновление SDK и импортировал обновленную библиотеку, и эта ошибка исчезла. Поэтому мое предложение: обновить до последних библиотек, на которые ссылается ваш проект.
Ответ 5
Возможно, вы установили из отдельной копии кода, где номер версии был выше, чем копия, с которой вы работаете сейчас. В любом случае удалите текущую установленную копию или откройте "Настройки" > "Приложения", чтобы определить номер версии для установленного приложения, и увеличьте свой код версии выше в AndroidManifest.
Ответ 6
Я также столкнулся с той же проблемой. Его можно решить с помощью следующих шагов, которые проще, чем удаление любого apk с устройства -
1) Запустите команду "adb logcat | grep -i version" на терминале
2) Найдите конкретную строку, которая будет показана в конце logcat -
"Downgrade detected: Update version code 5011 is older than current 9109"
3) скопируйте текущую версию (например, 9109) и вставьте ее в AndroidManifest.xml, как показано ниже -
android:versionCode="9109"
Теперь очистите и перестройте приложение, и оно должно работать нормально.