search
LoginSignup
13

More than 1 year has passed since last update.

posted at

updated at

【Android】マルチモジュールって何?

この記事は

マルチモジュールって何だろうと思い、恥を忍んでAndroidのお師匠さんに聞いてみた私が、「マルチモジュール完全に理解した」になるまでの物語である。

先生、マルチモジュールって何ですか?

これまでpackageとして管理していたある機能を持つまとまりを、モジュールとしてライブラリのように切り離して扱う方法のこと。

...ハァ?

あの...モジュールって何ですか...?

ていうか、パッケージって何...(小声)

  • packageとは

app->com.ウンニャラカンニャラの下にあるフォルダ(?)
以下の画像におけるviewviewModelがパッケージとなる
スクリーンショット 2021-11-25 16.46.50.png

  • moduleとは

かの有名などすこい先生のリポジトリを見てみましょう。
GitHubClientForJetpackCompose

自動生成されるものは省きますが、例えばdataやuiなどがモジュールに当たります。
スクリーンショット 2021-11-26 23.44.59.png

このように、今までappディレクトリの中のcom.~~配下で管理していたui(view, viewModel)data(repository, usecase)appと同じディレクトリでモジュールとして切り離し、ライブラリのように扱うのがマルチモジュール(らしい)です。

じゃあ、appには何が入ってるの?

いままでapp配下で管理していたuiやdataなどのパッケージを、app外に出すということは、逆にapp内には何が存在しているのか。
もはや、appの存在意義は何なのか。

app配下にはAndroidManifestなど、build時に必要なファイルが格納されている。
appの実行を通じて、他のモジュールも実行され、最終的にアプリがビルドされる流れであるので、appの存在意義としては、アプリのエントリポイントのようなものと言えるでしょう。

参考:Android開発におけるモジュール分割

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
13