相关疑难解决方法(0)

如何指定每个flavor buildType sourceSets?

我有两种版本的应用程序,每个应用程序都有自己的谷歌地图(v1)密钥用于调试和发布(总共4个密钥).所以我想知道我是否可以根据buildType和productFlavor指定sourceSets.从本质上讲,我想知道如何实现这样的目标:

src
??? debug
?   ??? flavor1
?       ??? res
?           ??? values
?               ??? gmaps_key.xml
??? release
?   ???flavor1
?       ??? res
?           ??? values
?               ??? gmaps_key.xml
Run Code Online (Sandbox Code Playgroud)

gradle将使用src/<currentBuldType>/<currentProductFlavor>/*其sourceSet的一部分.

基本上我希望它这样,如果我跑gradle assembleFlavor1Debug这将包括所有下src/main/*,src/flavor1/*src/debug/flavor1/*.

我的build.gradle非常简单:

buildscript {
    repositories {
        mavenCentral()
    }   

    dependencies {
        classpath 'com.android.tools.build:gradle:0.5.0'
    }   
}

apply plugin: 'android'

android {
    compileSdkVersion 8

    productFlavors {
        flavor1 {
            packageName 'com.flavor1'
        }
        flavor2 {
            packageName 'com.flavor2'
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

有什么想法吗?或者更好的方法呢?

android gradle

14
推荐指数
2
解决办法
1万
查看次数

Gradle productflavors sourcesets和旧项目结构

今天我开始转换我们的项目以使用gradle构建系统.我无法改变项目结构,我有不同的风格,所以我想知道如何覆盖"dev"和"prod"的源集,因为这显然不起作用:

buildscript {
    repositories {
        mavenCentral()
    }

    dependencies {
        classpath 'com.android.tools.build:gradle:0.4.2'
    }
}

apply plugin: 'android'

android {
    compileSdkVersion 17
    buildToolsVersion "17"

    dependencies {
        compile project(':ABS')
        compile project(':google-play-services_lib')
        compile project(':MergeAdapter')
        compile fileTree(dir: 'libs', include: '*.jar')
    }

    signingConfigs {
        release {
            storeFile file("myapp.keystore")
                    storePassword "**********"
                    keyAlias "**********"
                    keyPassword "**********"
        }
    }

    sourceSets {
        main {
            manifest.srcFile 'AndroidManifest.xml'
            java.srcDirs = ['src']
            resources.srcDirs = ['src']
            aild.srcDirs = ['src']
            renderscript.srcDirs = ['src']
            res.srcDirs = ['res']
            assets.srcDirs = ['assets']
        }

        dev {
            java.srcDirs = ['src-dev'] …
Run Code Online (Sandbox Code Playgroud)

android gradle

4
推荐指数
1
解决办法
6547
查看次数

标签 统计

android ×2

gradle ×2