프로그래밍 언어/JAVA

Java에서 사용할 수있는 Gradle의 변수를 선언

Rateye 2021. 6. 16. 10:21
728x90
반응형
질문 : Java에서 사용할 수있는 Gradle의 변수를 선언 할 수 있습니까?

Java에서 사용할 수있는 Gradle의 변수를 선언 할 수 있습니까? 기본적으로 build.gradle에 일부 변수를 선언하고 빌드 타임에 (분명히) 가져오고 싶습니다. C / C ++의 전 처리기 매크로처럼 ...

선언의 예는 다음과 같습니다 ... :

android {
    debug {
        A_VAR_RETRIEVABLE_IN_JAVA = 42
    }
    release {
        A_VAR_RETRIEVABLE_IN_JAVA = 42+52
    }
}

그런 식으로 할 수있는 방법이 있습니까?

답변

다음은 Java에서 사용하기 위해 Gradle에서 값을 전달하는 두 가지 방법입니다.

Java 상수 생성

android {
    buildTypes {
        debug {
            buildConfigField "int", "FOO", "42"
            buildConfigField "String", "FOO_STRING", "\"foo\""
            buildConfigField "boolean", "LOG", "true"
        }

        release {
            buildConfigField "int", "FOO", "52"
            buildConfigField "String", "FOO_STRING", "\"bar\""
            buildConfigField "boolean", "LOG", "false"
        }
    }
}

BuildConfig.FOO 액세스 할 수 있습니다.

Android 리소스 생성

android {
    buildTypes {
        debug{
            resValue "string", "app_name", "My App Name Debug"
        }
        release {
            resValue "string", "app_name", "My App Name"
        }
    }
}

 

@string/app_name 또는 R.string.app_name 을 사용하여 일반적인 방법으로 액세스 할 수 있습니다.

출처 : https://stackoverflow.com/questions/17197636/is-it-possible-to-declare-a-variable-in-gradle-usable-in-java
728x90
반응형