2017-02-03 4 views
1

일반 변형 된 Java 프로젝트를위한 gradle 플러그인은 Android Studio의 assembleRelease/assembleDebug와 비슷한 추가 변종/작업을 추가합니다. src/release, src/debug 해당 변형을 빌드 할 때 기본값을 재정의 할 리소스가 포함 된 dir?자바 프로젝트 (Intellij의)에서 gradle을 사용하여 Android Studio의 assembleRelease/assembleDebug와 비슷한 dev/release 빌드 사이를 전환 하시겠습니까?

dev와 release 버전 (때로는 일부 이미지와 같은 애셋 임에도 불구하고)에 다른 구성 파일을 사용하는 방법이 필요합니다. 바로 사용할 수있는 솔루션이 있습니까 아니면 사용자 정의 작업을 정의하고 필요한 모든 파일을 수동으로 복사해야합니까?

답변

1

당신은 당신이 좋아하는 특정 Gradle을 구성 (릴리스 또는 디버그)를 실행할 수있는 ENV 속성에 따라 프로파일 동작을 받는다는 유사 구현할 수 있습니다

if (project.hasProperty('env') && project.getProperty('env') == 'prod') { 
    apply from: 'gradle/production.gradle' 
} else { 
    apply from: 'gradle/development.gradle' 
} 

링크 : https://blog.gradle.org/maven-pom-profiles

또는에서 특정 작업을 덮어 유사한 방식 :

build.gradle

task build(type: GradleBuild) { 
    if (project.hasProperty('env') && project.getProperty('env') == 'prod') { 
     buildFile = 'gradle/production.gradle' 
    } else { 
     buildFile = 'gradle/development.gradle' 
    } 
    tasks = ['hello'] 
} 

development.gradle

task hello { 
    doLast { 
     println "hello from the other build." 
    } 
} 

링크 : https://docs.gradle.org/current/userguide/organizing_build_logic.html#sec:external_build