Ответ 1
Похоже, что в последней версии инструментов adb есть "разрешить флаг понижения", который не показан в справке adb, но он отображается в справке "pm" на устройстве. Поэтому используйте:
adb install -r -d <link to apk>
Похоже, что последний Android 4.2 представил это условие ошибки при установке, когда вы пытаетесь установить APK с более низкой версией. В предыдущих версиях Android можно было установить старый APK просто через adb install -r <link to APK>
. Для целей отладки мне часто нужно повторно протестировать старые APK; и флаг -r
заменит старую версию старых версий Android. Есть ли работа вокруг, чтобы игнорировать [INSTALL_FAILED_VERSION_DOWNGRADE]
?
Похоже, что в последней версии инструментов adb есть "разрешить флаг понижения", который не показан в справке adb, но он отображается в справке "pm" на устройстве. Поэтому используйте:
adb install -r -d <link to apk>
Вы можете попробовать и использовать 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, не были сохранены)
Включили ли вы несколько учетных записей на своем устройстве (и нажмите apk через ADB)? Если это так, вам нужно удалить apk в каждой учетной записи. После полной деинсталляции ваш push будет в порядке.
В моем случае это была устаревшая версия Служб Google Play, включенных в мой проект. Я использую Android Studio. Я запустил обновление SDK и импортировал обновленную библиотеку, и эта ошибка исчезла. Поэтому мое предложение: обновить до последних библиотек, на которые ссылается ваш проект.
Возможно, вы установили из отдельной копии кода, где номер версии был выше, чем копия, с которой вы работаете сейчас. В любом случае удалите текущую установленную копию или откройте "Настройки" > "Приложения", чтобы определить номер версии для установленного приложения, и увеличьте свой код версии выше в AndroidManifest.
Я также столкнулся с той же проблемой. Его можно решить с помощью следующих шагов, которые проще, чем удаление любого 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"
Теперь очистите и перестройте приложение, и оно должно работать нормально.