Android: пропустить Gradle "testClasses" для проекта зависимости
Я выполнил это руководство, чтобы создать тестовый файл JUnit для моего основного модуля Android (позвоните ему "module-a" ), в Android Studio v1.4.
Мой "модуль-а" имеет зависимость от внешней библиотеки, которая предоставляется в виде файла .aar
и для которой я должен был создать выделенный модуль.
Эта зависимость вызывает ошибку:
При щелчке правой кнопкой мыши на тестовом Java файле и нажатии "Запустить MyTestName" сбой этой ошибки
Error:Gradle:
FAILURE: Build failed with an exception.
* What went wrong:
Task 'testClasses' not found in project ':module-b'.
Удаление зависимости от модуля-b решает проблему.
Вывод модуля-a build.gradle:
compile project(':module-b')
module-b build.gradle:
configurations.create("default")
artifacts.add("default", file('library-b.aar'))
Как настроить Gradle так, чтобы он не запускал задачу testClasses
на "module-b"? (это должно решить мою проблему)
Ответы
Ответ 1
Я не нашел способ пропустить задачу testClasses
для модуля-b: кажется, что действия, запущенные с Android Studio (например, запуск теста JUnit), запускают команды Gradle, которые нельзя изменить. В моем случае:
Information:Gradle: Executing tasks:
[:module-a:prepareFree_flavorDebugUnitTestDependencies,
:module-a:generateFree_flavorDebugSources,
:module-a:mockableAndroidJar,
:module-a:assembleFree_flavorDebug,
:module-a:assembleFree_flavorDebugUnitTest,
:module-b:testClasses]
Я нашел обходной путь для своей проблемы:
Добавьте следующий код в модуль-b build.gradle:
task testClasses {
doLast {
println 'This is a dummy testClasses task'
}
}