Спасибо! Да, я пробовал все с 2.2.1 до текущей последней стабильной 2.3.3 :) я не пробовал все версии 3.0.0, потому что важно попробовать, когда она будет официально стабильной. Так что просто использовал новейшую на данный момент 3.0.0-бета6

я есть проект Android (созданный Cordova), в который я хочу добавить (контрольно-измерительные приборы) тесты. Есть только одинMainActivity.java это должно быть проверено.

Обычно это означает добавление некоторых зависимостей кbuild.gradle и создание файла/src/androidTest/java/org/example/package/MainActivityTest.java сMainActivityTest класс и некоторые методы испытаний. (В Android Studio я даже могу сгенерировать их, используя Run -> «Record Espresso Test» - все очень просто и работает).

К сожалению, теперь у меня есть требование, чтобы эти тестовые файлы действительно работалиснаружи каталог проекта. В существующем проекте Cordova должны быть только минимальные изменения (так как он регенерируется и обрабатывается как артефакт сборки).MainActivity.java Лучше всего будет в той же корневой папке, где находится проект Android/android.

Как я могу этого достичь?

build.gradle изменения могут быть добавлены вbuild-extras.gradle файл, который настоящийbuild.gradle уже включает, так что об этом позаботятся.

Но я понятия не имею, как разместитьMainActivityTest.java за пределами структуры папок проекта и по-прежнему сможет запустить его внутри проекта.

Для iOS вы можете связать внешние файлы в проекте с абсолютными путями. Нечто подобное было бы и здесь идеально.

я посмотрел наsourceSets но я не уверен, как интегрировать это в проект Android Cordova, который уже имеет этот не по умолчанию (я думаю?)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']
        }
    }
    ...
}