3
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

AndroidStudioでGradlePlugin 3.2に上げたら死んだ

Last updated at Posted at 2018-11-15

表題の通りAndroidStudioのすすめるまま、GradlePluginのバージョン上げたらビルド通らなくなりました。
エラーログには Execution failed for task ':app:kaptStagingDebugKotlin' とあったのでKotlin関係でなんかあった?って調べ始めてたどり着いた先は違ったので解決までの道のりを記したいと思います。

結論

公式ドキュメントを読もう!
https://developer.android.com/topic/libraries/data-binding/start

原因

スクリーンショット 2018-11-15 15.50.38.png

 Execution failed for task ':app:kaptStagingDebugKotlin'

タスク名みるとKotlin関係のライブラリの更新が必要なのかな?とか思いますがそっちじゃありませんでした。
Buildログをさかのぼってみるとこんな感じのエラーが大量に吐かれています。

スクリーンショット 2018-11-15 16.03.53.png

見たままですね。DataBindingの方で問題がありビルドが通らなくなってました。

databinding.enableV2

先のエラーログから紆余曲折を経てたどり着いたのは公式ドキュメントでした…
https://developer.android.com/topic/libraries/data-binding/start

New data binding compiler for binding classes
のセクションに記載している通り、GradlePlugin 3.1より設定方法が変わっていました。
これまで以下のように記述していたと思いますが、これが変更にりgradle.propertiesで記載するようになっています。
また、dependenciesブロックに記載していたkaptの記載は不要になりましたので消しましょう。

build.gradle
// 古い方
android{
  dataBinding {
      enabled = true
  }
  ...   
}

dependencies {
    kapt "com.android.databinding:compiler:$gradle_plugin_version" //これは不要
    ...
gradle.properties
// gradle plugin:3.1から
android.databinding.enableV2=true

そのた

  • Android Studioがすすめるままに更新したんですが、もともとのgradle pluginが2.3.3だったので解決までに時間かかりました…
    • dependenciesブロックのライブラリ記述方法がcompileからimplementationに変わってたりとか
  • targetSdkも古いプロジェクトだったのでそっちの対応も必要だったり

参考

この他3.2で変わったこと対応が必要なことについてはこちらが参考になるかもしれません。
https://qiita.com/takahirom/items/c8df8dfdc8056f903395
3.0 -> 3.1についてはこちら
https://qiita.com/taki4227/items/00e295c8aaf79d463312

3
3
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
3
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?