2

Gradle이 포함 된 Android Studio에서 빌드 스크립트를 구현하는 Gradle &이 새로 도입되었습니다. 나는 다음과 같은 빌드 타입을 정의 :Gradle에서 각 빌드 유형에 대해 실행중인 작업을 정의하십시오.

android { 

buildTypes { 
     release { 
      ... 
     } 

     other { 
      ... 
     } 

     debug { 
      ... 
     } 

    } 
} 
... 

내가 각 빌드 유형에 대해 실행해야하는 작업을 생성해야하고, 그것을가 실행되고있는 구축 유형 알 필요가있다 :

task myTask(dependsOn: 'build'){ 
    //1. I need to be run for each build Type 
    //2. I need to know which build type I am now running for 
    buildType = XXX 
} 

grad에서 myTask를 구현하는 방법은 무엇입니까?

+0

작업을 두 번 이상 실행할 수 없습니다. 대신 빌드 유형별로 별도의 작업을 선언해야합니다. –

+0

당신이해야 할 일이 명확하지 않지만 Peter가 암시 하듯이 "myTask $ buildType"태스크를 동적으로 정의 할 수 있습니다 (http://www.gradle.org/docs/current/userguide/tutorial_using_tasks에서 "Dynamic tasks"확인). .html). –

+0

또한'dependsOn'은'myTask' 전에'build' 태스크가 실행된다는 것을 의미합니다. myTask가 실행되면,'build'가 이미 완료되었을 것입니다. Android 빌드 프로세스를 어떻게 든 수정하지 않으면 현재 실행중인'buildType' afaik를 인터셉트 할 수 없습니다. –

답변

0

각 buildVariant에 액세스하기위한 빌드 인 지원이 있습니다. 예 변형 당 하나의 checkstyle 작업을 생성하는이 작업을 수행 :

android{ 
    applicationVariants.all{ variant -> 
     def checkstyleTask = task("${variant.name}Checkstyle", type:Checkstyle){ 
      ... 
     } 
     check.dependsOn checkstyleTask 
    } 
}  
+0

** 빌드 유형 **이 실행되는 곳은 어디입니까? –

관련 문제