android gradle 种口味在最后 Android 个工作室

android gradle flavors in the last Android studio

我想为我的项目创建两个 falvors。我过去成功地做到了这一点,但使用新的 ANdroidStudio 我有点担心如何做到这一点。官方指南已过时。

过去我们需要做的是在"src"文件夹级别创建额外的文件夹。在当前版本的 AndroidStudio 中,我们有 app->{/java;/manifests;/res} 结构,我们只能在同一个包下创建文件夹,我看不到为 "res"

你能告诉我如何为我的应用创建风格吗?

也许尝试构建类型,有点类似于 this post。您可以以这种方式更改资源文件夹

The official guide is out-dated.

the official guide's section on product flavors 的核心对我来说似乎很好。

In the past what we need to do is to create additional folders on the level of "src" folder.

这将为产品风味定义源集。您仍然需要通过 productFlavors 闭包或通过项目结构对话框在 build.gradle 中为模块声明产品风格。

In the current version of AndroidStudio we have app->{/java;/manifests;/res} structure

通过项目结构树上方的下拉菜单,从项目内容的 Android 视图切换到项目视图。

您将从一棵像这样的树开始:

并将其更改为像这样的树:

Can you advise please how I can create flavors for my app?

手动或通过“项目结构”对话框将 productFlavors 闭包添加到模块的 build.gradle 文件中:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 21
    buildToolsVersion "21.1.2"
    defaultConfig {
        applicationId "com.commonsware.myapplication"
        minSdkVersion 8
        targetSdkVersion 21
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    productFlavors {
        vanilla {
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:21.0.3'
}

如果您想要该产品风格的替代来源(Java、资源、清单等),请在项目中创建 src/.../,其中 ... 是名称您的口味(src/vanilla/ 与上面显示的示例 build.gradle 相对应)。要创建此目录,可以:

  • 在“项目”视图中,像创建任何其他目录一样创建它

  • 在Android视图中,只要开始定义一个资源,出现的对话框就会有源集的下拉框:

但是,由于我不知道如何以这种方式将 Java 代码放入特定的源集中,所以我总是在项目视图中工作。