Подтвердить что ты не робот

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"? (это должно решить мою проблему)

4b9b3361

Ответ 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'
    }
}