症状
Gradle Syncをすると以下のエラーが出る
WARNING: API 'variantOutput.getPackageApplication()' is obsolete and has been replaced with 'variant.getPackageApplicationProvider()'.
It will be removed at the end of 2019.
For more information, see https://d.android.com/r/tools/task-configuration-avoidance.
To determine what is calling variantOutput.getPackageApplication(), use -Pandroid.debug.obsoleteApi=true on the command line to display a stack trace.
Affected Modules: app
解決方法
プロジェクトのbuild.gradleのうち、com.deploygate:gradleを2.0.1にアップデートした
classpath 'com.deploygate:gradle:2.0.1'
詳細
最近、AndroidアプリケーションのGradleでSync時に上記の警告が出るようになりました。要するにgetPackageApplicationが廃止されるのでgetPackageApplicationProviderに置き換えないと年末までに使えなくなるというもの。
ところが、build.gradleの中ではgetPackageApplicationを使っていません。
警告を見ると -Pandroid.debug.obsoleteApi=true を使えとあります。
早速使ってみます
gradle.propertiesに
android.debug.obsoleteApi=true
を追記して再度Syncすると、モジュール内にあるbuild.gradleのdeploygateが警告の原因っぽい
ぐぐってみるとGitHubにIssueが上がっていました。
https://github.com/DeployGate/gradle-deploygate-plugin/issues/59
いろいろ解決方法が書いていますが、最終的にはもう修正済みだよ ということなので、Deploy gate pluginを最新にします。
執筆時点では2.0.1が最新っぽい
https://github.com/DeployGate/gradle-deploygate-plugin/blob/master/README.md
ということで
プロジェクトbuild.gradleの、com.deploygate:gradleを2.0.1にアップデートすると警告が出なくなりました。
classpath 'com.deploygate:gradle:2.0.1'