Ответ 1
Это неполный ответ на ваш вопрос, поскольку он документирует то, что вы не можете сделать, но задача connectedAndroidTest
, которая выполняет теги androidTest
в вашем проекте, жестко запрограммирована для работы с debug
build type, и я не вижу способа указать его на другой тип сборки.
Принимая советы от Есть ли способ перечислить зависимости задач в Gradle? и изучить дерево зависимостей задачи, если вы запустите:
./gradlew tasks --all
вы получите это в своем выходе:
Verification tasks
------------------
app:check - Runs all checks. [app:lint]
app:connectedAndroidTest - Installs and runs the tests for Build 'debug' on connected devices. [app:assembleDebug, app:assembleDebugTest]
app:connectedCheck - Runs all device checks on currently connected devices. [app:connectedAndroidTest]
app:deviceCheck - Runs all device checks using Device Providers and Test Servers.
Документация для задачи connectedAndroidTest
утверждает, что она запускает тесты с debug
, а зависимости задачи (которые вы видите с флагом -all
) подтверждают, что задача зависит от assembleDebug
.
Добавление дополнительных типов сборки и вкусов не влияет на зависимость от встроенного типа debug
.
Возможно, что с большим Gradle -fu, чем у меня, вы можете перенастроить задачи, чтобы тесты зависели от другого типа сборки, но это может быть хрупким, поскольку оно связано с тем, что не зависит от того, t поддерживаемый API в плагине Android Gradle.
Чтобы ответить на ваш вопрос наиболее прямо, однако, если все, что вам нужно, - это запустить тесты с помощью сборки с другим сертификатом, вы можете изменить конфигурацию подписи в своей конструкции debug
для использования бета-сертификата:
android {
signingConfigs {
beta {
keyAlias 'key'
keyPassword 'password'
storeFile file('/path/to/beta_keystore.jks')
storePassword 'password'
}
}
buildTypes {
debug {
signingConfig signingConfigs.beta
}
beta {
signingConfig signingConfigs.beta
}
}
}
Я протестировал его, и я могу запускать цели androidTest против отладочных сборников, которые используют пользовательское хранилище ключей таким образом. Однако я сомневаюсь, что это решает вашу проблему, потому что я подозреваю, что вы хотите запустить свои тесты против бета-версии build, а не отладочной сборки с бета-сертификатом .