У нас есть несколько активных ветвей нашего приложения (например, v1.x и v2.x), и мы поставляем релизы для тестирования внутри компании. Это означает, что тестер иногда устанавливает более старую версию поверх новой.
Это хорошая идея, чтобы корректно справиться с этим сценарием (всплывающее окно с сообщениями об ошибках, уничтожить базу данных и т. Д.), Иначе тестер увидит сообщение «Принудительное завершение», а затем мы должны посмотреть на adb logcat
журналы, чтобы подтвердить, что это произошло из-за несоответствия версий.
Первоначально я беспокоился о том, что существуют другие разумные сценарии, где это может произойти, например, при повторной активации более старой версии в Android Market (например, из-за катастрофической ошибки в новой версии).
Тем не менее, Документы для Android говорят, что вы не можете активировать более старую версию:
Вы не можете активировать новый APK с кодом версии ниже, чем у заменяемого APK.
Таким образом, чтобы попасть в этот сценарий, вам нужно перестроить старую версию с новым номером версии, прежде чем вы сможете ее активировать. IMO, все еще стоит справиться с этим сценарием, так как кто-то может легко сделать эту ошибку в 4 часа утра, пытаясь откатить плохой релиз!