Есть ли способ игнорировать INSTALL_FAILED_VERSION_DOWNGRADE при установке приложения с помощью Android Debug Bridge?

Похоже, что самый последний Android 4.2 ввел это состояние ошибки при установке, когда кто-то пытается установить APK с более низкой версией. В предыдущих версиях Android можно было установить более старую APK 'просто черезadb install -r , В целях отладки мне часто нужно повторно тестировать старый APK 's; и-r флаг заменит более старую сборку в старых версиях Android. Есть ли обходной путь здесь, чтобы игнорировать?[INSTALL_FAILED_VERSION_DOWNGRADE]

 CommonsWare15 нояб. 2012 г., 18:21
Вы имеете в виду, помимо удаления более новой версии?
 parkerfath18 мар. 2014 г., 01:59
Этот вопрос также действителен для случаев, когда у вас (несколько неправильно) неправильно пронумерованных сборок. Например. возможно ваш v1.0 из коробки разработчика имеет более высокий VersionCode, чем v2.0 с сервера сборки.
 AaronMT15 нояб. 2012 г., 18:30
Правильный; Я предположил-r Флаг справится с этим.

Ответы на вопрос(7)

Решение Вопроса

разрешить понижать флаг " это неt показано в справке adb, но показано ввечера" помощь по устройству. Так что используйте:adb install -r -d

 Darpan18 июн. 2018 г., 12:28
Начиная с Android 7 (Nougat), adb install -d больше не работает, если пакет не помечен как отлаживаемый.android.googlesource.com/platform/frameworks/base/+/921dd75
 marioc6424 окт. 2018 г., 09:51
Обратите внимание, что -d работает только с отлаживаемыми пакетами
 derekg14 мар. 2016 г., 20:06
Например, чтобы удалить (понизить версию) Waze 4.0.0.2 и установить версию 3.9.5.3:adb install -r -d Waze_3.9.5.3.apk, Таким образом, вы выигралипотерять данные приложения.
 plaisthos08 янв. 2016 г., 13:44
И это, кажется, задокументировано сейчас! Только не то, что вы должны использовать -r -d, -rd не будет работать
 MarSoft22 нояб. 2015 г., 23:05
Пробовал сadb install -rd  который не сделалт работа. Ваша версия (с разделенными параметрами) работает нормально. Спасибо!

Вы можете попробовать и использоватьadb uninstall -k  а затем установка более старого apk. Из руководства по использованию ADB: I '

  adb uninstall [-k] <package> - remove this app package from the device
                                 ('-k' means keep the data and cache directories)
</package>

я пробовал сам с моим apk, и похоже, что он работает для большинства данных (некоторые данные, такие как RawContacts не были сохранены)

 Pointer Null09 апр. 2015 г., 23:45
Это также полезно для понижения рейтинга, если adb -d по-прежнему жалуется, как это сделал для меня.
 Paul Lammertsma23 дек. 2013 г., 14:40
Похоже, что эта команда на самом деле не выполняет удаление, а просто выдает предупреждение. Команда, чтобы фактически извинить это, кажется.adb shell pm uninstall -k

следующих шагов, которые проще, чем удаление любого apk с устройства -

1) Запустить командуadb logcat | grep -i версия " на терминале

2) Найдите конкретную строку, которая будет показана в конце logcat -

"Downgrade detected: Update version code 5011  is older than current 9109"

3) скопируйте текущую версию (например, 9109) и вставьте ее в AndroidManifest.xml, как показано ниже -

android:versionCode="9109"

Теперь очистите и пересоберите приложение, и оно должно работать нормально.

включенная в мой проект. Я использую Android Studio. Я запустил обновление SDK и импортировал обновленную библиотеку, и эта ошибка исчезла. Итак, мое предложение: обновите до последних библиотек, на которые ссылается ваш проект.

или apk через ADB)? Если это так, вы должны удалить apk в каждом аккаунте. После полной деинсталляции ваш пуш будет в порядке.

 Benjamin Schmid17 сент. 2017 г., 11:02
Восстановление бэкапа через Titanium Backup не сработало. Свежая установка не работает. Установка через APK и / или adb install не работала. Это стоило мне 1,5 часа, и ваш простой совет сделал свое дело. Спасибо!

вы установили из отдельной копии кода, где номер версии был больше, чем копия, которую высейчас работаем с В любом случае удалите установленную копию или откройте «Настройки»> Приложения, чтобы определить номер версии для установленного приложения и увеличить код версии, чтобы он был выше в AndroidManifest.

 tasomaniac11 янв. 2017 г., 09:59
Это, конечно, то, что можно сделать. Это уже очевидно. Вопрос в том, есть ли способ пропустить эту проверку и разрешить понижение рейтинга. И ответ - да. Этот ответ в основном говорит нет.
 jedd.ahyoung08 янв. 2014 г., 03:21
Почему это было отвергнуто? Возможно, это не самый лучший ответ, но он кажется жизнеспособным решением (и, возможно, самым простым) для новичка в этом!пожалуйста оставлять комментарии к таким ответам, как онисущественный не только для ответчика, но и для читателей, которые посещают этот вопрос позже. : - |

используя

adb uninstall com.package.name

а затем снова установите / запустите приложение

Ваш ответ на вопрос