#gradle #android-gradle-plugin
#gradle #android-gradle-plugin
Вопрос:
У меня есть следующая запись sourceSet. Каждый каталог содержит автоматически созданные исходные файлы Java, которые должны быть скомпилированы для каждой соответствующей сборки debug / release.
sourceSets {
debug {
java.srcDirs = [generatedDebugCodeDir]
}
release {
java.srcDirs = [generatedReleaseCodeDir]
}
}
Однако я не вижу каталогов, добавленных в classpath (с помощью флага —debug Gradle). Как мне решить эту проблему? Я попробовал java.srcDir (без S), который даже не распознается.
Одним из решений, которое я рассматриваю, является просто создание файлов в соответствующих сгенерированных каталогах BuildConfig. Надеюсь, нет никакого сумасшедшего побочного эффекта.
Ответ №1:
Оказывается, мне будет лучше использовать java.srcDirs, специфичный для Java.srcDirs. Эта настройка сработала для меня.
flavor1Debug{
java.srcDirs = ["${generatedJavaDirRoot}/flavor1/debug/"]
}
flavor1Release{
java.srcDirs = ["${generatedJavaDirRoot}/flavor1/release/"]
}
flavor2Debug{
java.srcDirs = ["${generatedJavaDirRoot}/flavor2/debug/"]
}
flavor2Release{
java.srcDirs = ["${generatedJavaDirRoot}/flavor2/release/"]
}