RegisterResGeneratingTask は非推奨です。registerGeneratedFolders(FileCollection) を使用してください。質問する

RegisterResGeneratingTask は非推奨です。registerGeneratedFolders(FileCollection) を使用してください。質問する

新しい 3.0.0 Gradle プラグインを備えた新しい Android Studio を使用しています。
ビルド時にいくつかの警告が発生しました:

registerResGeneratingTask is deprecated, use
registerGeneratedFolders(FileCollection)

ベストアンサー1

私の知る限り、クラスパスの依存関係として追加されたプラグインは問題を引き起こします。つまりファイアベース問題がありました。スプーンそしてフラッター同様に。このGoogle検索同じ問題が提起されているGitHubリポジトリが多数あることがわかりましたが、共通しているのはGradleプラグインであるという事実だけです。Fabricも原因の1つであるようです。メイト*

私の知る限り、この問題は 1 つまたは複数の Gradle プラグインから発生しています。Gradle コードによっても発生する可能性がありますが、プロジェクトがアプリであり Gradle プラグインではない場合、これは当てはまらない可能性が高くなります。

そして、アレックス・コーンコメントでは、非推奨は警告です。この場合、それは最終的に削除される機能であることを意味します。したがって、今のところ、それがプラグイン(そしてあなたが作成したものではない)であると仮定すると、無視できます。削除されるまでに、ほとんど/すべての主要なプラグインが修正のために更新されるはずです。

そしてまた、それは警告です。エラーではありません。それでも実行できますが、問題に対して何もできない場合は無視してください。たとえば Fabric* プラグインを無効にするのはやりすぎです。まだ機能しています。

私はFabricを使用していませんし、Fabricはオープンソースではないので、開発者が修正したかどうかはわかりません。

要約:Gradle プラグインが原因です。これは警告 (エラーではありません) なので、問題の原因となっているプラ​​グインを削除するのはやりすぎです。修正できない場合は、現時点では非推奨 (削除されていない) である限り、そのままにしておいてください。


Firebaseを使用している場合は、移行ガイド(この投稿の後半にリンク)にも記載されている特定の解決策があります。guavaモジュールを除外します。

classpath ('com.google.firebase:firebase-plugins:1.1.0') {
    exclude group: 'com.google.guava', module: 'guava-jdk5'
}

問題自体は検出するのがかなり困難です。私が確認したすべてのプラグイン (およびこの回答にリンクされているプラ​​グイン) で、この問題の原因となる単一の問題は見つかりませんでした。問題の原因となるコードを記述した場合 (修正は可能です。サードパーティの Gradle プラグインを追加しても問題は発生しません)、修正するために試すことができることがいくつかあります。

実際の原因としては、TestVariantGradle プラグイン 3.0.0 移行ガイドのトピックに従って、Gradle ファイルを更新することで解決します (ただし、Spoon ライブラリでは、 に関連する行を変更することで修正されました)。

全体が覆われている開発者ドキュメントただし、問題が発生したプロジェクトで行われたプル リクエストに基づいて、関連性があると思われる内容をいくつか示します。

Gradle バージョンとプラグインを更新するだけでなく、google()の下にリポジトリを追加する必要もありますrepositories

compile現在はimplementationまたは ですがapiimplementationが推奨されます。

providedでありcompileOnlyapkでありruntimeOnly

androidTestCompileとなりandroidTestImplementationtestCompile->testImplementation

フレーバーを使用する場合は、フレーバー ディメンション (ドキュメントで説明) を使用する必要があります。

ビルド タイプについては、そのビルド タイプを持たないライブラリがある場合に備えてフォールバックを含める必要があります。これらは、ブロックprofileの下のブロックで定義されますandroid

まだ行っていない場合は、まず gradle プラグインを定義する必要があります。他のクラスパス依存関係がない場合は問題ありません。ただし、依存関係がある場合は、まず gradle プラグインが定義されていることを確認してください。

を使用する場合は、クラスで をtestVariants呼び出さないようにしてください。これが Spoon ライブラリの原因のようです。testedVariant

私が知る限りでは、これらは問題を解決するために行われた変更の一部です。

おすすめ記事