Откат Android Gradle к другому варианту сборки - PullRequest
0 голосов
/ 05 июля 2018

У меня есть четыре варианта сборки, A, B, C и D. Для конкретной деятельности у меня есть общий код в базовом классе в основных исходных наборах. Я хочу использовать дополнительные функциональные возможности, чтобы A & B имели такие же дополнительные функциональные возможности, а C & D - те же функциональные возможности, которые отличаются от A & B. Я смог сделать это путем копирования и вставки расширяющего класса в исходные наборы для A & B и C & D соответственно; однако, это делает обслуживание проблемой. Я не могу объединить варианты A & B или C & D, потому что они имеют другие важные различия. Как включить класс таким образом, чтобы он только в A и B ссылался на него и только на C и D ссылался на него. Я попытался добавить исходные наборы java, но потом не смог найти другие классы или другие модули.

1 Ответ

0 голосов
/ 06 июля 2018

Мне удалось решить эту проблему путем создания двух новых каталогов E & F. Затем я добавил наборы источников для A & B, чтобы они были их текущими наборами источников, а E и для C & D я добавил F.

sourceSets {
    A {
        java.srcDirs = ['src/A/java', 'src/public/E']
    }
    B {
        java.srcDirs = ['src/B/java', 'src/public/E']
    }
    C {
        java.srcDirs = ['src/C/java', 'src/internal/F']
    }
    D {
        java.srcDirs = ['src/D/java', 'src/internal/F']
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...