Gradleファイルを構成して複数のプロジェクトを構築するためのGoogleのGradleプラグイン推奨方法にはいくつかの欠点があります1つのライブラリプロジェクトに依存する複数のプロジェクトがある場合、この投稿ではGoogleの推奨される構成とその欠点について簡単に説明し、gradleファイルを構成する別の方法を推奨していますAndroid Studioでマルチプロジェクトセットアップをサポート:
Android Studioの代替マルチプロジェクトセットアップ
別の方法:
Android Studioで複数のプロジェクトを管理するより良い方法があることがわかりました。秘訣は、ライブラリ用に個別のAndroid Studioプロジェクトを作成し、アプリが依存するライブラリのモジュールがライブラリのプロジェクトディレクトリにあることをgradleに伝えることです。上記のプロジェクト構造でこのメソッドを使用したい場合は、次のようにします。
- StickyListHeadersライブラリ用のAndroid Studioプロジェクトを作成する
- App2のAndroid Studioプロジェクトを作成する
- App1のAndroid Studioプロジェクトを作成する
- StickyListHeadersプロジェクトでモジュールをビルドするようにApp1とApp2を構成します。
4番目のステップは難しい部分なので、ここで詳しく説明します。settings.gradleファイルにプロジェクトステートメントを追加し、そのプロジェクトステートメントによって返されるProjectDescriptorオブジェクトのprojectDirプロパティを設定することにより、プロジェクトのディレクトリの外部にあるモジュールを参照できます。

入れなければならないコードsettings.gradle
:
include ':library1'
project(':library1').projectDir = new File('../StickyListHeader/library1')
これを正しく行った場合、プロジェクトによって参照されているモジュールが、プロジェクトディレクトリの外部にある場合でも、プロジェクトナビゲーターに表示されます。

これにより、ライブラリコードとアプリコードを同時に操作できます。このように外部からモジュールを参照すると、バージョン管理の統合も問題なく機能します。変更をコミットしてアプリコードにプッシュできるのと同じように、変更をコミットしてライブラリコードにプッシュできます。
このように複数のプロジェクトを設定することで、Googleの推奨構成を悩ませる問題を回避できます。プロジェクトディレクトリの外部にあるモジュールを参照しているので、それに依存するすべてのアプリに対してライブラリモジュールの追加のコピーを作成する必要はありません。また、なんらかのgitサブモジュールを使用せずにライブラリをバージョン管理できます。
残念ながら、複数のプロジェクトを設定するこの別の方法を見つけるのは非常に困難です。明らかに、これはGoogleのガイドを見て理解できるものではありません。現時点では、Android StudioのUIを使用してこのようにプロジェクトを構成する方法はありません。