2014-02-16 122 views
2

我有一個帶有兩個不同應用程序的android項目。項目的Gradle任務取決於其他項目的任務

這是我目前的結構:

appA/ 
    buid.gradle 
    ... 
appB/ 
    buid.gradle 
    ... 
settings.gradle 
gradlew 

settings.gradle如下:

include ':appA' 
include ':appB' 

爲了測試的appAappB的必須在模擬器上進行安裝。

,如果我先安裝這兩個應用程序,然後運行的appA測試

./gradlew installDebug    # install both apps apks 
./gradlew connectedInstrumentTest # runs tests on both apps (appB does not have any) 

我怎麼可以明確地說,現在一切正常,那的appA connecedInstrumentTest dependes上installDebug程序appB

回答

6

從父的build.gradle文件就可以了狀態:

tasks.getByPath( ':的appA:connectedInstrumentTest')dependsOn。( ':appB的:installDebug')

或在的appA的的build.gradle您可以加入這一行:

connectedInstrumentTest.dependsOn(':appB:installDebug') 

或等價的方式說在的appA的的build.gradle同樣的事情:

connectedInstrumentTest { 
    dependsOn: ':appB:installDebug' 
} 
+0

工程就像一個魅力。父級構建gradle只需要該行。謝謝 –

+0

@ Joao-trindade我添加了關於在appA的build.gradle中添加任務依賴聲明的信息。有一個父母build.gradle是一件好事,但如果你不想要它,請嘗試我添加到答案的替代方法之一。 – ditkin

+0

我嘗試了將它添加到appA的build.gradle後面的建議,但是我收到一條錯誤消息,說「找不到屬性'connectedInstrumentTest'項目'...'。 – Paladine

相關問題