Is it possible to declare a variable in Gradle usable in Java?

后端 未结 9 1384
春和景丽
春和景丽 2020-11-22 09:11

Is it possible to declare a variable in Gradle usable in Java ? Basically I would like to declare some vars in the build.gradle and then getting it (obviously) at build time

9条回答
  •  萌比男神i
    2020-11-22 09:47

    You can create build config field overridable via system environment variables during build:

    Fallback is used while developing, but you can override the variable when you run the build on Jenkins or another tool.

    In your app build.gradle:

    buildTypes {
            def serverUrl =  '\"' + (System.getenv("SERVER_URL")?: "http://default.fallback.url.com")+'\"'
            debug{
                buildConfigField "String", "SERVER_URL", serverUrl
            }
            release {
                minifyEnabled true
                proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
                buildConfigField "String", "SERVER_URL", serverUrl
            }
        } 
    

    The variable will be available as BuildConfig.SERVER_URL.

提交回复
热议问题