2016-01-27 5 views
11

私はAndroidアプリケーションを複数のプロジェクトで構成しています。それらのプロジェクトの1つは、Applicationオブジェクトを拡張するだけのAppプロジェクトです。間違ったプロジェクトのlibフォルダにあるaarを探しているGradle

そのアプリプロジェクトのbuild.gradleの中に、他のプロジェクトを依存関係として追加します。

私は、使用したいSDK(aar)を格納するための新しいモジュールを作成しました。また、私のアプリプロジェクトのbuild.gradleにも追加しました。

compile project(':newmodule-thesdk') 

newmodule-thesdkのlibsフォルダの中に、私はaarファイルを追加しました。我々はそれをthesdk.aarと呼ぶ。

repositories { 
    flatDir { 
     dirs 'libs' 
    } 
} 

dependencies { 
    compile(name:'thesdk-1.0', ext:'aar') 
} 

私はGradleのを同期しようとするとthesdk-1.0は、私のアプリプロジェクトのlibsのフォルダに存在しないため、同期に失敗しました。なぜそれがそれを探していますか?なぜそれは新しいモジュール - thesdkプロジェクトでそれを見つけるだけではないのですか?

+0

を含めるを含めたいいけないときに、古いプロジェクトを参照? –

+0

@ GabrieleMariotti newmodule-thesdk – Andrew

+0

なぜあなたは.aarを格納するモジュールを作成していますか?別の目標がありますか? – meynety

答えて

3

を働いていたことが問題を解決するには、次の操作を行うために私を必要と表示されます私のAppプロジェクトのbuild.gradle。

repositories { 
     flatDir { 
      dirs project(':newmodule-thesdk').file('libs') 
     } 
    } 
0

私は同様の問題があったと私はちょうどthesdk-1.0.aarthesdk.aarあなたのケースでは、-NNaarをXXXのために私xxx.aarを変更して、それがうまく

+0

これは解決策ではないようですが、名前を確認することは非常に重要です –

0

あなたは自分のコードを変更するには、この方法

dependencies { 
    compile fileTree(include: ['thesdk-1.0.aar'], dir: 'libs') 
} 

を持つファイルが存在しなければならないことに注意してください! uが2を行うことができ

0

が近づい

1)あなたはすでにそれを言ったように:

repositories { 
     flatDir { 
      dirs project(':newmodule-thesdk').file('libs') 
     } 
    } 

それはあなたが含めて新しいGradleのプロジェクトを作ることができ

2)このような方法で行うことができますSDK内の古いコードプロジェクトを参照してください。その後、

およびuは、SDKとしたときに、SDKの参照にあなたがflatDirとAARの依存関係を追加しましたbuild.gradleに新しいGradleのプロジェクト

関連する問題