我在 Android Studio 中用 gradle 制作了一个新应用,现在我需要制作大约 10 个版本,在资源中具有不同的包名称和值。我像示例一样制作了自定义风味,并希望用自定义值替换此自定义风味中的一些字符串。我找到了这样的例子:
filter(org.apache.tools.ant.filters.ReplaceTokens, tokens: ['version': '2.2'])
但我不知道把它放在哪里。据我了解,我需要将其放入单独的任务中,但是如何使 IDE 调用此任务?
我还需要替换 Java 类和 Content Provider 的身份验证中的几个变量,也许我需要通过将文件复制到 flavor1 文件夹并让 gradle 合并它来做到这一点,但存储多个文件副本的方法似乎是错误的线...也许我需要为所有这些使用其他解决方案?
这是 build.gradle:
buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.4.2'
    }
}
apply plugin: 'android'
dependencies {
    compile fileTree(dir: 'libs', include: '*.jar')
    compile project(':JazzyListView')
    compile project(':ABS')
    compile project(':Volley')
}
android {
    compileSdkVersion 17
    buildToolsVersion "17.0.0"
    defaultConfig {
        versionCode 5
        versionName "3.0"
        minSdkVersion 8
        targetSdkVersion 17
    }
    sourceSets {
        main {
            manifest.srcFile 'src/main/AndroidManifest.xml'
            java.srcDirs = ['src/main/java']
            res.srcDirs = ['src/main/res']
        }
    }
    productFlavors {
        flavor1 {
            packageName "com.example.flavor1"               
        }
        flavor2 {
            packageName "com.example.flavor2"
        }
    }
}