「別プロジェクトのモジュールを参照するには」の版間の差分

提供: tknotebook
移動: 案内検索
 
(モジュールの build.gradleを変更する)
28行: 28行:
 
==モジュールの build.gradleを変更する==
 
==モジュールの build.gradleを変更する==
  
settings.gradle に追加したプロジェクト(モジュール)を使いたいモジュールの build.gradle の dependencies に以下の行を追加します。
+
あるモジュールが、settings.gradle に追加したプロジェクト(モジュール)を使いたい場合、
 +
そのモジュールの build.gradle の dependencies に以下の行を追加します。
  
 
  dependencies {
 
  dependencies {
39行: 40行:
  
 
追加したのは compile project(':freyja'); です。
 
追加したのは compile project(':freyja'); です。
 +
 +
この操作は、IDE の Project Structure のDependencies タブでは何故かできないので注意してください。
 +
  
 
この後、プロジェクトをビルドすると、プロジェクトにモジュール freyja が加わり、プロジェクトツールウィンドウからも見えるようになります。実際 この時点で freyja モジュールはプロジェクトの一部になっています。
 
この後、プロジェクトをビルドすると、プロジェクトにモジュール freyja が加わり、プロジェクトツールウィンドウからも見えるようになります。実際 この時点で freyja モジュールはプロジェクトの一部になっています。
  
 
これで、モジュール freyja がそれを使いたいモジュールから見えるようになります。クラスのインポートなども通常通り行えます。
 
これで、モジュール freyja がそれを使いたいモジュールから見えるようになります。クラスのインポートなども通常通り行えます。

2015年10月13日 (火) 02:14時点における版

メインページ>コンピュータの部屋#Android>AndroidStudio Tips


まだ実験してから日が浅いので、ひょっとするとまずい点があるかもしれませんが、 あるプロジェクトから、別のプロジェクトのモジュールを、インポートすることなく参照できたので、その方法を紹介します。 とても簡単です。

settings.gradleを変更する

settings.gradle はビルドプロセスの初期化を行う部分ですが、プロジェクトに属するモジュールを決定するのに 用いられています。

#本来、Gradle では モジュールのことを プロジェクトと呼び、AndroidStudio のプロジェクトは、複数プロジェクトをまとめるルートプロジェクトです。

通常、settings.gradle には

 include ':app', ':lib1'

など、include メソッドで、ルートプロジェクトに属するプロジェクト(モジュール) を設定します。これをプロジェクトツリーといいますが、これを 以下のように変更すると任意の場所にあるプロジェクト(モジュール)を含めることができます。

include ':app', ':lib1', ':freyja'
project(':freyja').projectDir = new File(settingsDir, '../../libs/FreyjaLibrary/freyja')

因みに settingsDir は setteings.gradle の在るフォルダです。絶対パスでモジュールの場所を指定してもかまいませんが、たいていは相対的に決めた方が便利でしょう。

モジュールの build.gradleを変更する

あるモジュールが、settings.gradle に追加したプロジェクト(モジュール)を使いたい場合、 そのモジュールの build.gradle の dependencies に以下の行を追加します。

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    testCompile 'junit:junit:4.12'
    compile 'com.android.support:appcompat-v7:23.0.1'
    compile 'com.android.support:design:23.0.1'
    compile project(':freyja')
}

追加したのは compile project(':freyja'); です。

この操作は、IDE の Project Structure のDependencies タブでは何故かできないので注意してください。


この後、プロジェクトをビルドすると、プロジェクトにモジュール freyja が加わり、プロジェクトツールウィンドウからも見えるようになります。実際 この時点で freyja モジュールはプロジェクトの一部になっています。

これで、モジュール freyja がそれを使いたいモジュールから見えるようになります。クラスのインポートなども通常通り行えます。