👏

Android | local.properpties に定義した定数をプロジェクト内で使えるようにする

2023/02/17に公開

やりたいこと

API KEY など、Git に公開できない情報などを Git 管理されていない local.properpties に定義することがあると思います。

local.properties
sdk.dir=/Users/UserName/Library/Android/sdk
CLIENT_ID=...
CLIENT_KEY=...

ここて定義した定数をプロジェクト内で使用できるようにします。

build.gradle の設定

モジュールレベル (Module :app) の build.gradle に以下の設定を行うだけです。

build.gradle
android {
    ...
    defaultConfig {
        def propertiesFile = project.rootProject.file("local.properties")
        def properties = new Properties()
        properties.load(new FileInputStream(propertiesFile))

        buildConfigField "String", "CLIENT_ID", "\"${properties['CLIENT_ID']}\""
        buildConfigField "String", "CLIENT_KEY", "\"${properties['CLIENT_KEY']}\""
    }
    ...
}

使い方

val clientId = BuildConfig.CLIENT_ID
val clientKey = BuildConfig.CLIENT_KEY

Discussion