結構前になりますがAndroid Gradle Pluginの4.1が公開されました

https://developer.android.com/studio/releases/gradle-plugin?hl=ja#4-1-0

AGP4.1にあげるときにいろいろひっかかってしまったので備忘録としてつまずいたポイントを紹介しようと思います

マルチモジュールしているところでは影響あるところもあるのではないでしょうか

DIで配るようにして対応しました

  • ライブラリプロジェクトのテストでBRが生成されない

https://developer.android.com/studio/releases/gradle-plugin?buildsystem=ndk-build#library-unit-tests

ライブラリプロジェクトのテスト内でデータバインディングのBRに対してアクセスしている箇所があると、BRが欠落してテストがこけます

ドキュメントには対応としてインストゥルメンテーション テストへの移植を挙げていますが、自分はデータバインディングをLiveDataに置き換えることで対応しました

  • カスタムLIntを使っているとgradle syncでこける

このようにcustom lintを導入しているときsyncするとエラーになってこける

1
2
3
dependencies {
  lintChecks project(":custome-lint")
}

issueとしてあがっておりワークアラウンドがコメントされている https://issuetracker.google.com/issues/170656529

ワークアラウンドによるとこれで通るようになる

1
2
3
4
5
dependencies {
  if (System.getProperty("idea.active") != "true") {
    lintChecks project(":custome-lint")
  }
}

ただ、CI上ではLintが動くがAndroid Studio上で警告を出してくれなくなる(たぶん)

今のところこれ以上はどうにもならなさそう


数字上げるだけでしょと思ってた時代がありました