2016-01-13 29 views
11

1つのライブラリモジュールのファイルが1つある.aarです。
他のプロジェクトのライブラリモジュールにライブラリまたは依存関係として使用したいと思います。
どうすればよいですか?ライブラリモジュールに.aar依存関係を追加するには?

私はリンク以下で提供されるオプションを試してみました:
http://kevinpelgrims.com/blog/2014/05/18/reference-a-local-aar-in-your-android-project/

それは私が私のプロジェクトのアプリケーション・モジュールに.aarの参照を追加する場合にのみ機能します。しかし、ライブラリモジュールでは動作しません。

ありがとうございました。

repositories { 
    flatDir { 
     dirs 'libs' 
    } 
} 

と依存関係を追加します:

dependencies { 
    compile(name:'nameOfYourAARFileWithoutExtension', ext:'aar') 
} 

あなたが使用することができ、あなたのbuild.gradleにリポジトリを追加する必要がありますが、AARファイルを必要とするすべてのモジュール(ライブラリやアプリケーション)で

+0

あなた 'build.gradle'を提供してください – gio

+0

[自分のgradleビルドにローカル.aarファイルを追加する]の可能な複製(http:// stackoverflow。コム/質問/ 21882804 /追加-ローカルAAR-ファイルツー私-Gradleのビルド) – piotrek1543

+0

allprojects { リポジトリ{ jcenter() flatDir { のdirs 'LIBS' } } } 依存関係{ コンパイル 'com.android.support:appcompat-v7:23.1.0' コンパイル「com.android.support:recyclerview-v7 はfileTree(: 'LIBS'、含む[ '*の.jar'] DIR)をコンパイル。 23.0.1 ' コンパイル(名前:' mylibmodule '、内線:' aar ') } – Swati

答えて

9

リポジトリを追加するトップレベルのファイルですが、トップレベルのファイルに依存関係を追加することはできません。
モジュールで使用しているlibsフォルダの相対パスに注意してください。

+0

リソースを持つライブラリが必要です。 – Swati

+0

それはどういう意味ですか? aarにはリソースがあります –

+1

@スワティモジュールに依存関係を追加する必要があります。トップレベルのファイルではありません。あなたのコメントを読んで、間違ったファイルに依存関係を追加しています –

20

この設定に従って、あなたはライブラリモジュールに

build.gradle(プロジェクト:....).aar依存関係を追加することができます

allprojects { 
    repositories { 
     jcenter() 
     mavenCentral() 
     flatDir { 
      dirs 'libs' 
      dirs project(':library_module').file('libs') 
     } 
    } 
} 

build.gradle(モジュール:アプリを)

dependencies { 
    ... 
    compile project(':library_module') 
} 

build.gradl E(モジュール:library_module)

dependencies { 
    ... 
    compile(name:'aar_file_name', ext:'aar') 
} 

settings.gradle(プロジェクト設定)

include ':app', ':library_module' 
+6

dirs project( ':library_module')。ファイル( 'libs')は仕事をします –

+0

ありがとうございました。 – March3April4