2017-02-22 69 views
0

我在Android项目中遇到了问题。在Android Gradle项目中,有没有办法在嵌套的依赖关系中传递构建变体配置?

例如,有四个模块:App,Lib1,Lib2,Lib3。

应用:

compile project(":Lib1") 

LIB1:

compile project(":Lib2") 

LIB2:

compile project(":Lib3") 

现在,我配置产品的风味为两个App和LIB3这样的:

productFlavors { 
     formal {} 
     dev {} 
    } 

当我为App构建一个构建变体时:App:assembleFormalRelease,我想要构建Lib3的formalRelease变体。

==============

我知道我可以通过添加相同productFlavors和配置像所有模块以下实现这一目标。

configurations { 
     devReleaseCompile {} 
     devDebugCompile {} 
     formalReleaseCompile {} 
     formalDebugCompile {} 
    } 

    dependencies {  
     devReleaseCompile project(path:"xxx", configuration: "devRelease") 
     devDebugCompile project(path:"xxx", configuration: "devDebug") 
     formalReleaseCompile project(path:"xxx", configuration: "formalRelease") 
     formalDebugCompile project(path:"xxx", configuration: "formalDebug") 
    } 

但在我工作的项目超过五个级别的嵌套的依赖,我想知道是否有一个更简单的解决方案。

谢谢!

回答

0

我认为任务依赖性是你need.Since装配什么任务都懒加载 在应用模块:

tasks.whenTaskAdded { task -> 
if(task.name.equals('assembleFormalRelease') 
    {task.dependsOn ':lib3:assembleFormalRelease'} 
} 

它的工作原理在方案中的任何冲突?

+0

谢谢。但是我需要的是添加项目依赖项,比如'formalReleaseCompile项目(路径:“xxx”,配置:“formalRelease”)'。 –

相关问题