LoginSignup
10
10

More than 5 years have passed since last update.

【Android】DataBindingのGradleの設定が変わった

Last updated at Posted at 2016-02-23

年が明けてから新しくDataBindingを使用するプロジェクトを作成しようとしたら、ビルドが通らなかったので、調べた解決策を記載します。

今までの方法

build.gradle
dependencies {
   classpath "com.android.tools.build:gradle:1.3.0-beta1"
   classpath "com.android.databinding:dataBinder:1.0-rc0"
}
app/build.gradle
apply plugin: com.android.application'
apply plugin: 'com.android.databinding'

今まで、というか去年の年末まではこの方法で大丈夫だったはず。。

新しい方法

build.gradleを以下のように修正してsyncします。

build.gradle
    dependencies {
        classpath 'com.android.tools.build:gradle:2.0.0-beta5'
    }
app/build.gradle
android {
    dataBinding {
        enabled = true
    }
}

DataBindingが1.0になったタイミングでGradleに含まれるようになり、設定が変わったらしい。

なんだ楽勝じゃん

って思ったらDataBindingUtilが予測に出てこない。。

よく見るとsyncでエラーが出ていた。

Warning:Gradle version 2.10 is required. Current version is 2.8

というメッセージが。

なるほど、バージョンあげればいいのね。

gradle>wrapper>gradle-wrapper.propertiesを以下のように修正してsyncします。

gradle-wrapper.properties
distributionUrl=https\://services.gradle.org/distributions/gradle-2.11-all.zip

Warningが消えない

syncしてもInvalidate Caches/RestartしてもWarningが消えない。おや・・・?

Gradleを手動でダウンロードしてくる

結局gradle-2.11-all.ziphttps://services.gradle.org/distributions から直接ダウンロードしてきてGradle homeに配置したら直りました。
(Gradle homeはSettingsから"Gradle"で検索すれば見つかります。)

まとめ

まずbuild.gradleを修正します。

build.gradle
    dependencies {
        classpath 'com.android.tools.build:gradle:2.0.0-beta5'
    }
app/build.gradle
android {
    dataBinding {
        enabled = true
    }
}

次にgradle/wrapper/gradle-wrapper.propertiesを修正します。

gradle-wrapper.properties
distributionUrl=https\://services.gradle.org/distributions/gradle-2.11-all.zip

これでsyncしてもエラーが消えない場合は
gradle-2.11-all.ziphttps://services.gradle.org/distributions から
直接ダウンロードしてきてGradle homeに配置してsyncします。
それでもエラーが出ていたらInvalidate Caches/Restartしてください。

※Gradleのバージョンは現時点での最新を使いました。適宜読み替えてください。

参考リンク

http://developer.android.com/intl/ja/tools/data-binding/guide.html
http://stackoverflow.com/questions/34037009/android-data-binding-nosuchmethoderror/34069832#34069832
http://www.codeprogression.com/2015/11/12/data-binding-closure/
http://naotoogawa.hatenablog.jp/entry/2016/01/23/Warning%3AGradle_version_2_10_is_required__Current_version_is_2_8
http://qiita.com/hkurokawa/items/1c53c7de1c277b7f7675
http://qiita.com/AbeHaruhiko/items/fd9a01ad6fc84309e857

10
10
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
10
10