4

我在理解 Android Studio 中的 Build Flavors 时遇到了麻烦。我正在尝试实现一件简单的事情:通过少量代码更改构建 2 个签名的 APK。“专业版” APK 只是drawer.xmlres/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)为什么还要那些调试和发布变体?

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

我在下面添加了答案

4

3 回答 3

6

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

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

现在它可以工作了。

在我重新安装之前,我的 Android-Studio 有点坏了。更多的崩溃,一些奇怪的行为等等。

于 2013-07-02T16:57:31.443 回答
1

您做错的是您将文件放入/src/main/res_pro/layout/drawer.xml而不是将其设置在gradle中。您创建的风味的默认位置是:

/src/pro/res/layout/drawer.xml
于 2013-07-03T08:15:55.337 回答
0

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

于 2013-07-02T14:51:51.887 回答