MultiModuleとBuildConfig

Kenji Abe
Oct 5, 2019

--

Photo by Andrik Langfield on Unsplash

MultiModule構成のアプリにおいて、他のモジュールからappモジュールのBuildConfigを参照したいことが多々あると思います。
そのとき、どのようにすれば良いかのTipsです。

前提

  • Daggerを使ってる(Daggerの知識が必要)

おそらくDaggerを使わなくても可能な方法だとは思いますが、Daggerがあるとより便利です。
ここではDaggerの解説はしません。

  • 共通のモジュールがいる(coreモジュール)

Featureモジュールも含め、各モジュールが依存する共通モジュールがあると何かと便利です。

AppConfigクラス

まず必要なのが、BuildConfigの情報を内包するクラスを新しく作成します。単純なdata classで大丈夫です。

これはcoreモジュールの方に作成します。

Dagger Component

次にDagger Componentです。これはcoreモジュールのほうに作成するやつです。

先程作ったAppConfigクラスをFactoryで受け取るようにします。

Applicationクラス

最後にappモジュール側でDagger Componentを作成する際にAppConfigクラスに必要な情報入れて渡すだけです。

これで設定は完了です。

値を参照する

DaggerでInjectできる箇所ならどのモジュールからでも簡単に参照可能です。

まとめ

Daggerをうまく使うことでモジュール間の連携がだいぶ楽になります。

--

--

Kenji Abe
Kenji Abe

Written by Kenji Abe

Programmer / Gamer / Google Developers Expert for Android, Kotlin / @STAR_ZERO