Как импортировать файл java-ароматов в основную папку? - PullRequest
0 голосов
/ 06 ноября 2018

Я создаю проект для Android с различными вариантами продукта. Моя структура проекта такая Flavor1

Аромат2

Main

где Flavor1 содержит файл Constants.java, Flavor2 также содержит файл Constants.java, но его нет в main. Мой основной пакет содержит другой класс Controller, который использует переменные, определенные в константах. Когда я пытаюсь запустить мой проект, он выдает ошибку « Не удается разрешить константы символа ». Когда я нажимаю alt + enter, он импортирует файл из выбранного аромата, и ошибка исчезает, но когда я переключаюсь на другой аромат, он не идентифицирует импорт, потому что он из flav1. Вот код из моего файла build.gradle, который определяет вкусы и исходные коды продуктов.

 buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
    debug {
        debuggable true
        applicationIdSuffix ".debug"
    }
}
productFlavors {
    Flavor1{
        applicationId = "app.com.Flavor1


    }
    Flavor2{
         applicationId = "app.com.Flavor2
    }
}
sourceSets {
    main{
        java {
            srcDirs('src/Flavor1/java/src', 'src/Flavor2/java/src','src/main/java/src')
        }
        res {
            srcDirs('src/Flavor1/res/src', 'src/Flavor2/res/src','src/main/res/src')
        }
    }
    Flavor1{
        java {
            srcDirs('src/Flavor1/java/src', 'src/main/java/src')
        }
        res {
            srcDirs('src/Flavor1/res/src', 'src/main/res/src')
        }
    }
    Flavor2{
        java {
            srcDirs('src/Flavor2/java/src', 'src/main/java/src')
        }
        res {
            srcDirs('src/Flavor2/res/src', 'src/main/res/src')
        }
    }

}

Я хочу, чтобы у каждого аромата был свой файл констант. Как этого можно достичь? Как я могу использовать файл Constants каждого варианта в основном, чтобы он импортировал или использовал файл выбранного варианта сборки? Любая помощь будет оценена.

...