モジュールとは、基本的に実行/ビルド設定とソースファイルの集合体であり、プロジェクトをより小さな単位に整理するのに役立ちます。Android Studioで「モジュールが指定されていません」などのエラーが発生する場合、多くの場合、IDEがどのモジュールを実行またはビルドすべきか判断できないことが原因です。通常、Gradleファイルが不足しているか誤って設定されているか、プロジェクト構造が適切でない場合に発生します。
特にAndroid Studioが、技術的には存在するのに認識されないモジュールについてエラーを吐くと、非常にイライラすることがあります。プロジェクト設定を少し調整するだけで解決できる場合もあります。例えば、Android Studioにすべてのモジュールの場所を明示的に指定したり、設定を強制的に更新したりするなどです。ここでは、Gradleの同期やプロジェクトのインポート後にこの問題が発生した人を含め、多くの人にとって効果があった方法をご紹介します。
Android Studio で「モジュールが指定されていません」エラーを修正する方法
settings.gradleファイルですべてのモジュールを指定する
Android Studioがモジュールを認識しない場合、まず最初に確認すべき点です。Android Studioはsettings.gradleファイルに基づいてモジュールの情報を把握するため、そこに不足しているエントリや間違ったエントリがあるとエラーが発生する可能性があります。
重要なのは、すべてのモジュールをそのファイル内で宣言することです。特に、新しいモジュールを追加したり、モジュールを移動したりした場合は、この手順が重要です。適切に宣言することで、Android StudioとGradleが同期し、ビルドまたは実行すべきモジュールを理解できるようになります。
ある設定では、 を追加するだけで動作しました。別の設定では、プロジェクトの複雑さに応じて、include 'app'
のような複数のモジュールを追加する必要がありました。include 'app', 'library'
- Android Studio でプロジェクトを開きます。
- プロジェクトフォルダにメインアプリ以外の追加モジュールがあるかどうかを確認します
- settings.gradleファイルを見つけて開きます(通常はルート ディレクトリにあります)。
include 'app', 'library'
モジュール名に一致するような行を追加してください。名前が正しく、フォルダ名と一致していることを確認してください(大文字と小文字が区別されます)。- 編集後、表示される黄色のバナーの「今すぐ同期」をクリックするか、 「ファイル」>「プロジェクトを Gradle ファイルと同期」に移動します。
- 同期が完了したら、「実行」>「構成の編集」に移動し、適切なモジュールが選択されていることを確認します。
- 「実行」を押して、幸運を祈ってください。
場合によっては、settings.gradle 内のモジュール宣言が欠落しているだけで、Android Studio が何をビルドすべきか分からなくなるという単純な問題が発生することがあります。これで問題が解決することを願っています。
ウイルス対策を無効にしてGradleを手動で更新する
一部のアンチウイルスアプリは異常に攻撃的で、Gradleのネットワークやファイルアクセスの一部をブロックすることがあります。ビルドが突然失敗したり、モジュールが認識されなくなったりする場合は、アンチウイルスアプリが重要な何かをブロックしている可能性があります。
ウイルス対策ソフト、特にWindows Defenderを一時的に無効にすると効果があるかもしれません。ただし、その後は必ず有効に戻してください。Windowsは当然ながら、必要以上にセキュリティを強化しなければならないからです。
それを行うには:
- スタートメニューをクリックし、「Windows セキュリティ」と入力して開きます。
- 「ウイルスと脅威の防止」に移動します。
- そのセクションの下にある「設定の管理」をクリックします。
- 今のところ、リアルタイム保護をオフにしてください。これは、さまざまなものをブロックする可能性がある大きな要因です。
完了したら、Gradle ファイルを再同期する必要があります。
- Android Studio に戻り、「ファイル」 > 「プロジェクトを Gradle ファイルと同期」に移動します。
- 進行状況バーを確認して、モジュールが認識されているかどうかを確認します。
- 問題がなければ、実行してみてください。場合によっては、この手順だけで、キャッシュに関する奇妙な問題やネットワークの不具合を解消できることがあります。
それでも問題が解決しない場合は、ウイルス対策ソフトを無効にして再起動するか、再起動して同期を再度実行してみてください。再起動することで、ゴーストバグが解消されることがよくあります。
.ideaフォルダを削除してプロジェクトを再インポートする
これは少し極端なように思えるかもしれませんが、GradleやAndroid Studioの同期が崩れた多くの開発者を救ってきました。.ideaフォルダにはプロジェクト固有の設定が多数含まれており、破損したり古くなったりするとAndroid Studioが誤動作を起こす可能性があります。
これを削除すると、Android Studio を再度開いたときに設定が最初から再生成されるようになり、多くの場合、誤った構成が修正され、モジュールの検出がリセットされます。
- Android Studio を閉じます。
- プロジェクトディレクトリで、.ideaフォルダを見つけて削除します。(このフォルダは非表示になっている場合があるので、ファイルエクスプローラーで隠しファイルが表示されていることを確認してください。)
- Android Studio を再度開き、プロジェクトを再度開きます。
- プロジェクトを再ロードするように要求されるので、処理を続行します。
- 画面下部に「Load Gradle Project」という黄色いバナーが表示される場合があります。それをクリックしてお待ちください。プロジェクトの大きさによっては数分かかる場合があります。
- 完了したら、[実行] > [構成の編集]ダイアログを再確認して、正しいモジュールが選択されていることを確認します。
- アプリをもう一度実行してみてください。この簡単なリセットでモジュール認識の問題が解決する場合があります。
注: 再生成後、一部の IDE 設定を再定義したり、一部の SDK を再インポートしたりする必要がある場合がありますが、通常はその価値はあります。
多くの方から、これらの修正、特にsettings.gradleの変更と.ideaの削除が、他の試みが失敗した後にうまくいったという報告をいただいています。場合によっては、Android Studioにプロジェクトを強制的に認識させるだけで解決できることもあります。
まとめ
- すべてのモジュールをsettings.gradleに追加して同期します。
- 一時的にウイルス対策をオフにして、手動で同期します。
- .ideaフォルダを削除し、再度開いて再同期します。
- プロジェクト構造と実行/デバッグ構成を再確認してください。
まとめ
毎回困ってしまうのは、何が原因なのかが必ずしも明確ではないからです。Gradleのアップデート、プロジェクトのインポート、あるいは何かおかしなキャッシュが原因かもしれません。しかし、これらの手順で大抵はうまくいきます。設定ファイルをいじったりキャッシュを無効化したりするのは面倒ですが、軌道修正するには十分です。これで、誰かが頭を抱える事態を避けられるといいですね。頑張ってください!