woshidan's blog

あいとゆうきとITと、とっておきの話。

No such property: main for class: org.gradle.api.internal.file.DefaultSourceDirectorySet

stackoverflow.com

Android Studioのバージョンアップをしたら上記のページにあるような No such property: main for class: org.gradle.api.internal.file.DefaultSourceDirectorySet Possible solutions: name というエラーが出ました。

やったこと

Android Studioのgradleのプラグインのバージョンをあげてみる

これは結果的に影響したのかわかりませんが、ひとまずは試してみました。

gradleのライブラリのバージョンをあげてみる

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
         classpath 'com.android.tools.build:gradle:1.5.0' // ここ
    }
}

Android Studioのバージョンをあげると以前のgradleのライブラリのバージョンだとビルドが動かない場合があります。

ので、とりあえず、Androirdのライブラリのリポジトリなどを参考にあげてみます。

gradle-wrapper.propertiesで指定しているzipのバージョンを http://services.gradle.org/distributions を見ながら更新する

gradleのライブラリのバージョンを変えた場合、

Error:Gradle version 2.10 is required. Current version is 2.5. If using the gradle wrapper, try editing the distributionUrl in /Users/woshidan/projects/Example/gradle/wrapper/gradle-wrapper.properties to gradle-2.10-all.zip
<a href="fixGradleVersionInWrapper">Fix Gradle wrapper and re-import project</a><br><a href="openGradleSettings">Gradle settings</a>

というようなエラーが出ることがあります。この場合、 gradle-wrapper.properties に書いたgradleの取得先のURL(distributionUrl)を新しいバージョンのものに変える必要があります。

どのバージョンのURLが現在利用できるのかは、 http://services.gradle.org/distributions を見ると調べることができます。

参考: http://gradle.monochromeroad.com/docs/userguide/organizing_build_logic.html http://gradle.monochromeroad.com/docs/userguide/gradle_wrapper.html