Android Gradle编译项目的特定风格

时间:2015-06-19 06:59:29

标签: android gradle

我遇到了产品风味问题,我的项目包含名为 Core 的库和名为 App 的应用程序。

在我的 App 模块的build.gradle文件中,我正在编译这个库项目:

 dependencies {
   compile project(':Core')
 }

这很好用但是当我想在我的图书馆项目" 核心"中引入特定的产品口味时,问题就出现了。和我的申请模块" App "。

在核心buid.gradle文件中我定义了一种产品风格:

productFlavors {
    flavor1 {

    }
}

sourceSets.flavor1 {

        java {
            exclude '**/SomeFilePath/*'
        }
}

现在,一旦我将新的味道添加到我的Core库中,我想在我的 App 应用程序模块中更改build.gradle,这样我就可以只编译这个名为flavor1的productFlavor 核心项目。

我试过这样的事情,但它失败了,错误"没有命名" flavor1Release"实测值"

dependencies {
  compile project(path: ':Core', configuration: 'flavor1Release')
}

总而言之,我希望在我的 App 应用程序模块中有多种口味,并且每种口味都会从我的 Core 库项目中编译出不同的风格。这样,来自 App 模块的每种风格都会在此 Core 库的构建中包含不同的文件。

有谁知道我怎么能做到这一点?

1 个答案:

答案 0 :(得分:0)

正如我所见,您明确提供了编译项目的配置。但您不需要这样做,因为“Android Studio”已经提供了该选项

  

要处理特定风格的文件,请单击“构建变体”   在IDE窗口的左侧,选择要修改的flavor   Build Variants面板,

enter image description here

对于产品口味,您需要指定以下内容:

productFlavors {
        demo {
            applicationId "com.buildsystemexample.app.demo"
            versionName "1.0-demo"
        }
        full {
            applicationId "com.buildsystemexample.app.full"
            versionName "1.0-full"
        }
    }