Gradle SyncでgetPackageApplication()の警告を解決した

2019/3/28 1708hit

症状


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'


前:SONYからGoProに乗り換えてSONYの良さを再確認した 次:4/1 福岡からI/Oへ行く飛行機運賃はどう変わったか

関連キーワード

[Android][Java][モバイル][IT]

コメントを投稿する