2015/02/09

Gradle で Configuration with name 'default' not found. が出てしまった時の対処方法

Gradle で app と lib のように 2つの依存関係のあるモジュールを開発していると、以下のようなエラーが出てしまうことがあります。

A problem occurred configuring project ':app'.
> Cannot evaluate module lib : Configuration with name 'default' not found.

解決策1: app から対象の Configuration を明示的に指定する

Configuration は plugin を適用すると大抵は自動的に設定されます。 java とか com.android.application だと default という名前の Configuration があるので問題ないのですが、その他のものの場合は default がない場合があります。その場合は、対処の Configuration を以下のように明示的に指定することで回避することができます。
project の引数に path: が追加されているのに注意してください。

app/build.gradle
dependencies {
    compile project(path: ':lib', configuration: 'compile')
}

解決策2: lib に default という名前の Configuration を作る

lib にプラグインを適用してない等、Configuration がそもそもない場合は、以下のように自分で作成してしまうのも手です。

lib/build.gradle
configurations.create('default')