web-dev-qa-db-ja.com

ライブラリモジュールの依存関係をAndroid Studioプロジェクトに含める方法は?

プロジェクトをEclipseからAndroidStudioに移行しています。このプロジェクトでライブラリとして使用されるプロジェクトがあります。このライブラリはPullToRefreshと呼ばれます。

私はこのプロジェクトをASにインポートするために多くの方法を試しましたが、私が試してみるとうまくいきます。

私のプロジェクトでは、次のフォルダー構造があります。

Project Root
+-- app
|   +-- builds
|   +-- libs
|   |   +-- PullToRefresh (my lib project)
|   +-- src
|   |   +-- main (Java code and resources)

Build.gradleで、私はこれをしようとしました:

dependencies {
    compile project(":libs:PullToRefresh")
}

しかし、私はこのエラーメッセージを受け取っています:

Gradle 'my_project' project refresh failed: Project with path ':libs:PullToRefresh'
could not be found in project ':app'
13
androidevil

Android Studioはproject-modules conceptで動作します。すべてのモジュールはルートディレクトリ(プロジェクトディレクトリ)内にある必要があります。 1つのモジュールを他のモジュールに依存させることができます。ライブラリは同じプロジェクトの異なるモジュールと見なされ、メインモジュール(この場合はアプリ)はそれらに依存します。

プロジェクトの構造を少し変更します。

Project Root
+-- libs
    +-- PullToRefresh (my lib project)
+-- app
|   +-- builds
|   +-- src
|   |   +-- main (Java code and resources)
    +-- .....
+--settings.gradle

この行をsettings.gradle

include ':libs:PullToRefresh'

Build.gradleは問題ありません。モジュールの依存関係ではなく、jarの依存関係にlibsを使用するため、ディレクトリ名をlibsからlibraryに変更することをお勧めします。

これをメインモジュールのbuild.gradleファイルに保存します。

dependencies {
    compile project(":libs:PullToRefresh")
}
40
pyus13

[ヘルプ]メニューオプションから[インポートモジュール]を検索すると、ウィザードが表示されます。

6
AlinaBM