Android Studio - класс дублирования Gradle, найденный в другом наборе источников

Я столкнулся со странной проблемой, связанной с исходным набором Gradle. Я подозреваю, что эта проблема принадлежит Android Studio. Мой файл Gradle определяет 4 варианта продукта и 4 исходных набора, включая основной. Мои файлы активности помещаются в другой набор источников, но не в основной набор источников. Но когда я открываю файл активности из любого из исходных наборов, Android-студия показывает: "Обнаружен дубликат файла в файле... обратитесь к другому файлу исходного набора". Поскольку в основном исходном наборе нет копии файла, это сообщение не должно появляться. Однако я могу создавать и запускать, используя любые варианты продукта и работая правильно в соответствии с исходным набором.

Мой файл Gradle выглядит так:

defaultConfig {
    applicationId "com.x.y.z"
    minSdkVersion 14
    targetSdkVersion 23
    versionCode 1
    versionName "1.0"
    multiDexEnabled true
}
buildTypes {
    debug {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
    release {
        minifyEnabled true
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        signingConfig signingConfigs.release
    }
}
productFlavors {
    design {
        resValue("string", "app_name", "App Design")
        applicationIdSuffix ".design"
        versionNameSuffix "-design"
    }
    dev {
        resValue("string", "app_name", "App Dev")
        applicationIdSuffix ".dev"
        versionNameSuffix "-dev"
    }
    prod {
        resValue("string", "app_name", "App Prod")
        applicationIdSuffix ".prod"
        versionNameSuffix "-prod"
    }
    playStore {
        resValue("string", "app_name", "Real App Name")
    }
}
sourceSets {
    main {
        java.srcDirs = ['src/main/java']
        res.srcDirs = ['src/main/res']
        assets.srcDirs = ['src/main/assets']
    }

    design {
        java.srcDirs = ['src/design/java']
        res.srcDirs = ['src/design/res']
        assets.srcDirs = ['src/design/assets']
    }

    dev {
        java.srcDirs = ['src/dev/java']
        res.srcDirs = ['src/dev/res']
        assets.srcDirs = ['src/dev/assets']
    }

    prod {
        java.srcDirs = ['src/prod/java']
        res.srcDirs = ['src/prod/res']
        assets.srcDirs = ['src/prod/assets']
    }
}

Исходный каталог выглядит так:

src
--androidTest
--design
  --assets
  --java
  --res
--dev
  --assets
  --java
  --res
--main
  --assets
  --java
  --res
--prod
  --assets
  --java
  --res

0 ответов

Другие вопросы по тегам