30
16

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

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

Last updated at Posted at 2021-11-26

この記事は

マルチモジュールって何だろうと思い、恥を忍んで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開発におけるモジュール分割

30
16
0

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
  3. You can use dark theme
What you can do with signing up
30
16

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?