Определение resValue условно в build.gradle - PullRequest
1 голос
/ 14 мая 2019

Я определяю resValue в build.gradle следующим образом

defaultConfig {
    ................................
    ................................ 
    resValue "string", "google_api_web_client_id", google_api_web_client_id

}

И значение находится в файле gradle.properties.

Я хочу поставить отдельное значение для отладочной сборки, но имя переменной должно совпадать google_api_web_client_id.

в моем файле gradle.properties я поместил следующий

geo_api_key=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
geo_api_key_debug=xxxxxxxxxxxxxxxxxxyyyyyyyyyyyyy

Что мне нужно, так это то, что когда тип сборки отлаживается, он автоматически принимает значение отладки, в случае выпуска он принимает значение выпуска. Я могу сделать это, определив константу, но в этом случае я должен поместить эти значения в build.gradle. Который я не хочу.

Как мне это сделать?

Ответы [ 3 ]

2 голосов
/ 14 мая 2019

Вы можете поставить это так

buildTypes {
    debug {
        resValue 'string', 'google_api_web_client_id', 'debug_key'
    }
    release {
        resValue 'string', 'google_api_web_client_id', 'release_key'
    }
}
1 голос
/ 14 мая 2019

Я думаю, что это поможет вам и другим с похожим вопросом

в вашем gradle.properties

MY_GOOGLE_API_KEY = "234235623"

в вашем build.gradle(приложение)

release {
            if (project.hasProperty('MY_GOOGLE_API_KEY')) {
                resValue 'string', MY_GOOGLE_API_KEY, 'release_key'
            }
        }
1 голос
/ 14 мая 2019

Вы можете сделать это следующим образом,

buildTypes {
    release {
        buildConfigField "String", "google_api_web_client_id", "YUOR_CLIEN_ID"
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
    }
    debug {
        buildConfigField "String", "google_api_web_client_id", "YUOR_CLIEN_ID"
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...