【Kotlin/Android】秘匿情報をgradle.propertiesで管理する方法!

この記事からわかること
- Android Studio/Kotlinで秘匿情報を管理する方法
- gradle.propertiesを読み込むには?
- propertiesファイルの作成方法
\ アプリをリリースしました /
環境
- Android Studio:Flamingo
- Kotlin:1.8.20
秘匿情報を管理する方法
android Studioでサーバーキーや広告IDなど秘匿情報はプロジェクト内にハードコードしないように注意が必要です。シークレットにしたい情報はgradle.properties
や独自にproperties
ファイルを生成して一元管理すると間違えて公開してしまうリスクを減らすことができます
gradle.propertiesで管理する
gradle.properties
はGradleビルドシステムにおけるプロジェクトの構成情報を定義するためのプロパティファイルです。Androidプロジェクトを生成するとルートディレクトリにgradle.properties
があります。
中身を見ると色々な設定が記述されていますが、一番下などにキーと値をCLIENT_ID=XXXXXXXX
のように記述します。
次に「build.gradle(app)」ファイル内にbuildConfigField
を使用して以下のように読み込みます。参照するときはproject.properties[キー]
形式で指定します。
これでBuildConfig
クラスから指定したキーでgradle.properties
に定義した値を取得することができるようになります。
独自にpropertiesファイルを用意する
既存のgradle.properties
を使用せずに独自にproperties
ファイルを用紙して同じ手順で読み込むことも可能です。例えばルートディレクトリにsecret.properties
を用意します。
「build.gradle(app)」ファイル内ではまだsecret.properties
を参照できないのでsecretProperties
変数を用意して先ほどのsecret.properties
を読み込みます。
あとは同じ容量でbuildConfigField
を定義するだけです。project.properties[キー]
形式ではなくsecretProperties[キー]
になるので注意してください。
.gitignoreに追加するのを忘れないように
生成したsecret.properties
はそのままではGitの管理対象になってしまうので.gitignore
ファイルに追加しておきましょう。
まだまだ勉強中ですので間違っている点や至らぬ点がありましたら教えていただけると助かります。
ご覧いただきありがとうございました。