Android Studio Gradle Build Flavors

时间:2013-07-02 14:28:23

标签: android gradle android-studio

我在Android Studio中理解Build Flavors时遇到了麻烦。我正在努力实现一个简单的事情:用一个小代码更改来建立2个签名的APK。 “专业版”APK在drawer.xml中只有res/layout/。我已经阅读了文档中的一些内容以及StackOverflow中的一些内容,但我发现build.gradle更改没有发生任何变化。

我当前的build.gradle文件:

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.4.+'
    }
}
apply plugin: 'android'

dependencies {
    compile files('libs/android-support-v4.jar')
    compile files('libs/GoogleAdMobAdsSdk-6.4.1.jar')
}

android {
    compileSdkVersion 17
    buildToolsVersion "17.0.0"

    defaultConfig {
        minSdkVersion 14
        targetSdkVersion 17
    }

    productFlavors {
        lite {
            packageName = 'com.mikebdev.refuel'
        }
        pro {
            packageName = 'com.mikebdev.refuelpro'
        }
    }

    sourceSets{
        android.sourceSets.pro {
            res.srcDirs = ['src/main/res_pro']
        }
    }
}

我创建了一个新文件夹:

/src/main/res_pro/layout/drawer.xml

我在这里做错了什么?

修改

我更新了上面的build.gradle文件。

由于其他一些不稳定因素重置我的整个Android Studio后,我现在可以在左下角选择我的构建变体(lite-debug,lite-release,pro-debug,pro-release)为什么即使那些调试AND发布变种?

这似乎现在可以正常工作。

我在下面添加了答案

3 个答案:

答案 0 :(得分:6)

由于其他一些不稳定因素重置我的整个Android Studio后,我现在可以在左下角选择我的构建变体(lite-debug,lite-release,pro-debug,pro-release)为什么即使那些调试AND发布变种?

我用模块创建了一个全新的项目,并复制并粘贴了我从旧项目中删除的所有内容,这些项目我从eclipse中导出了一段时间。

现在有效。

在重新安装之前,我的Android-Studio有点破碎。比应该更多的崩溃,一些奇怪的行为和这样的东西。

答案 1 :(得分:1)

您所犯的错误在于您将文件放在/src/main/res_pro/layout/drawer.xml中,而不是将其设置在gradle中。您创建的flavor的默认位置是:

/src/pro/res/layout/drawer.xml

答案 2 :(得分:0)

使用此构建脚本,您正在使用构建类型和flavor。要更改xml文件,您只需要这些风格。尝试删除buildTypes并使用productFlavor块作为android的子级。 在主要sourceSet的所有更改之后,更改pro风格的res文件夹应该进入sourceSets Block