¿Cómo colocar los archivos de prueba de Android (instrumentación) fuera del directorio del proyecto?

Tengo un proyecto de Android (generado por Cordova) al que quiero agregar pruebas (de instrumentación). Solo tiene unoMainActivity.java eso debería ser probado.

Normalmente esto significa agregar algunas dependencias abuild.gradle y creando un archivo/src/androidTest/java/org/example/package/MainActivityTest.java con unMainActivityTest clase y algunos métodos de prueba. (En Android Studio, incluso puedo generarlos usando Ejecutar -> "Grabar prueba de expreso", así que es muy simple y funciona).

Desafortunadamente, ahora tengo el requisito de que esos archivos de prueba realmente vivanfuera de el directorio del proyecto Debería haber solo cambios mínimos en el proyecto Cordova existente (ya que se regenera y maneja como un artefacto de construcción). losMainActivity.java sería mejor estar en la misma carpeta raíz donde se encuentra el proyecto de Android/android.

¿Cómo puedo lograr eso?

losbuild.gradle los cambios se pueden agregar a unbuild-extras.gradle archivo que lo realbuild.gradle ya incluye, por lo que esto se soluciona.

Pero no tengo idea de cómo colocar elMainActivityTest.java fuera de la estructura de carpetas del proyecto y aún así poder ejecutarlo dentro del proyecto.

Para iOS, puede vincular archivos externos en el proyecto con rutas absolutas. Algo así sería perfecto aquí también.

MirésourceSets pero no estoy seguro de cómo integrar esto en el proyecto de Android Cordova que ya tiene este no predeterminado (¿creo?)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']
        }
    }
    ...
}     

Respuestas a la pregunta(1)

Su respuesta a la pregunta