Android Studio 0.6.0中的默认源集

Android Studio 0.6.0中的默认源集,android,gradle,android-studio,Android,Gradle,Android Studio,我的理解是,如果您以任何风格创建java文件夹,它将自动检测为源集。这非常适合我的第一种口味。但是,对于我的第二个版本,它失败了(即java文件夹没有变成蓝色)。有人知道为什么会这样吗 这是我的build.gradle文件: apply plugin: 'android' android { compileSdkVersion 19 buildToolsVersion "19.1.0" defaultConfig { applicationId "bb

我的理解是,如果您以任何风格创建
java
文件夹,它将自动检测为源集。这非常适合我的第一种口味。但是,对于我的第二个版本,它失败了(即
java
文件夹没有变成蓝色)。有人知道为什么会这样吗

这是我的
build.gradle
文件:

apply plugin: 'android'

android {
    compileSdkVersion 19
    buildToolsVersion "19.1.0"

    defaultConfig {
        applicationId "bbct.android.common"
        minSdkVersion 9
        targetSdkVersion 19
        versionCode 1
        versionName "1.0"
    }
    signingConfigs {
        debug {
            storeFile file("debug.keystore")
        }

        release {
            storeFile file("codeguru.keystore")
            keyAlias "codeguru"
        }
    }
    buildTypes {
        release {
            signingConfig signingConfigs.release
            runProguard false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    productFlavors {
        lite {
            applicationId "bbct.android"
        }
        premium {
            applicationId "bbct.android.premium"
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:19.1.0'
    compile 'com.android.support:support-v4:19.1.0'
    liteCompile fileTree(dir: 'libs', include: ['*.jar'])
    androidTestCompile 'com.jayway.android.robotium:robotium-solo:5.1'
}

您需要在
android{…}
中为gradle添加味道:

productFlavors{

  yourFirstFlavorFolderName{
  }

  yourSecondFlavorFolderName{
  }
}
然后,您需要
将文件与Gradle
同步,并可能
同步
您的项目。如果这不起作用,您可以检查
.iml
文件,查找新添加的味道,并确保有一行与此类似:

<sourceFolder url="file://$MODULE_DIR$/src/yourSecondFlavorName/java" isTestSource="false" />


根据此问题,将仅识别当前所选风格中的源文件夹。

我已经在build.gradle文件中声明了productFlavors。在.iml文件中没有这样的行。这似乎就是安卓工作室不按我所希望的方式运行的原因。现在我想知道为什么gradle没有为我生成该行?我真的不知道gradle为什么没有这样做。你可以试着开始一个空白的项目,看看格拉尔德在那里的表现是否正常……我的也不会变成蓝色。似乎发生了一些随机事件。资产文件夹也是如此。无论如何,这不会给我带来任何问题。你遇到过麻烦吗?@WarrenFaith问题是,自动完成、重新组织导入和任何其他与源代码一起工作的功能都会因此而被破坏。有趣。我没有意识到这一点,因为我没有java文件。无论如何,我只是复制并粘贴了一个java文件,它至少被识别为一个java文件。自动完成开始使用该文件,但不使用新创建的文件。。。很奇怪。你应该提交一份错误报告@沃伦信仰似乎在按计划运作。请看下面我的答案。我同意这种基于选择的突出显示是一个糟糕的解决方案。根据我的经验,改变口味已经相当慢了…@WarrenFaith现在我明白了它的工作原理,这是有道理的。您可能不希望自动完成类名、方法名等,因为它们的风格与您当前正在处理的不同。