Como colocar os arquivos de teste do Android (instrumentação) fora do diretório do projeto?

Eu tenho um projeto Android (gerado por Cordova) ao qual quero adicionar testes (instrumentação). Tem apenas umMainActivity.java isso deve ser testado.

Normalmente, isso significa adicionar algumas dependências aobuild.gradle e criando um arquivo/src/androidTest/java/org/example/package/MainActivityTest.java com umMainActivityTest classe e alguns métodos de teste. (No Android Studio, posso até gerar esses itens usando Run -> "Record Espresso Test" - tão simples e funciona).

Infelizmente, agora eu tenho o requisito de que esses arquivos de teste realmente estejam vivoslado de fora o diretório do projeto. Deve haver apenas mudanças mínimas no projeto Cordova existente (pois ele é regenerado e tratado como um artefato de construção). oMainActivity.java seria melhor na mesma pasta raiz em que o projeto Android está/android.

Como posso conseguir isso?

obuild.gradle alterações podem ser adicionadas a umbuild-extras.gradle arquivo que o realbuild.gradle já inclui, portanto, isso é resolvido.

Mas não tenho ideia de como colocar oMainActivityTest.java fora da estrutura da pasta do projeto e ainda poderá executá-la dentro do projeto.

Para iOS, você pode vincular arquivos externos ao projeto com caminhos absolutos. Algo assim seria perfeito aqui também.

Eu olheisourceSets mas não sei como integrar isso no projeto Cordova Android, que já possui esse padrão (acho?)sourceSets:

android {
    sourceSets {
        main {
            manifest.srcFile 'AndroidManifest.xml'
            java.srcDirs = ['src']
            resources.srcDirs = ['src']
            aidl.srcDirs = ['src']
            renderscript.srcDirs = ['src']
            res.srcDirs = ['res']
            assets.srcDirs = ['assets']
            jniLibs.srcDirs = ['libs']
        }
    }
    ...
}     

questionAnswers(1)

yourAnswerToTheQuestion