Redefinir o estado do aplicativo entre as execuções de InstrumentationTestCase

Um dos meus engenheiros de controle de qualidade oferece suporte a um aplicativo com uma base de código bastante grande e vários arquivos SharedPreferences diferentes. Ele veio até mim outro dia perguntando como redefinir o estado do aplicativo entre as execuções de teste, como se tivesse sido desinstalado / reinstalado.

Não parece que isso é suportado pelo Espresso (que ele está usando) nem pela estrutura de teste do Android de forma nativa, então não tenho certeza do que dizer a ele. Ter um método nativo para limpar todos os diferentes arquivos SharedPreferences seria uma solução bastante quebradiça.

Como alguém pode redefinir o estado do aplicativo durante a instrumentação?

questionAnswers(2)

yourAnswerToTheQuestion