Включение и исключение исходных наборов для разных вкусов в Android Studio - PullRequest
0 голосов
/ 18 мая 2018

В проекте Android Studio у меня есть различные java-модули, и я хочу, чтобы они компилировались в зависимости от вкуса продукта (например, feature1 в flav1 и feature2, feature3 в flavour2 ).Также есть некоторый общий код, который нужно всегда компилировать.
Вот часть моего build.gradle:

productFlavors {
    flavor1 {
        sourceSets {
            main.java.srcDirs += [
                      'path_to_my_dir/feature1'
            ]
        }
    }
    flavor2 {
        sourceSets {
            main.java.srcDirs += [
                     'path_to_my_dir/feature2',
                     'path_to_my_dir/feature3'
            ]
        }
    }
}
sourceSets {
    main.java.srcDir 'path_to_my_dir/common'
}

Проблема в том, что все функции компилируются для любой вкус .
Различные варианты кода, подобные этому, тоже не работают:

flavor2 {
        main.java.excludes += [
                 'path_to_my_dir/feature1'
        ]
    }
}

Есть идеи, как заставить его работать?

1 Ответ

0 голосов
/ 21 мая 2018

Работает в несколько иной структуре:

sourceSets {
    main {
        java.srcDir 'path_to_my_dir/common'
    }
    flavor1 {
        java.srcDirs += [
              'path_to_my_dir/feature1'
        ]
    }
    flavor2 {
        java.srcDirs += [
              'path_to_my_dir/feature2'
              'path_to_my_dir/feature3'
        ]
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...