web-dev-qa-db-ja.com

RegisterResGeneratingTaskは推奨されていません。registerGeneratedFolders(FileCollection)を使用してください。

.
registerResGeneratingTask is deprecated, use registerGeneratedFolders(FileCollection)

123

私が言えることから、クラスパスの依存関係として追加されたプラグインは問題を起こすでしょう。すなわち Firebase に問題がありました。 スプーン および フラッターこのGoogle検索 を実行すると、同じことに関して問題が発生したGitHubリポジトリが多数公開されます。それらに共通するのは、Gradleプラグインであるという事実だけです。 Mate *で言及されているように、ファブリックも原因のようです。

私が言うことができるものから、問題は/ multiple Gradleプラグインから来ています。 Gradleコードによっても引き起こされる可能性がありますが、プロジェクトがGradleプラグインではなくアプリである場合、これはおそらく当てはまりません。

コメントで Alex Cohn によって述べられているように、廃止は警告です。この場合、それは最終的に削除される予定の機能です。だから今のところ、それがプラグインである(そしてあなたによって作られていない)と仮定すれば、あなたはそれを無視することができます。それが削除される時までに、それを修正するために主要なプラグインのほとんど/すべてが更新されるべきです。

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

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

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


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

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

問題自体を検出するのはかなり難しいです。私が言えることから、私がチェックした(そしてこの答えでリンクされた)すべてのプラグインにそれを引き起こす単一の問題はありません。問題の原因となるものをコーディングした(そしてそれを修正することは可能です。サードパーティのgradleプラグインを追加しても問題が起こらない)場合は、解決しようとすることがいくつかあります。

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

全体が 開発者向けドキュメントでカバーされています しかし、ここで私が問題となっているプロジェクトに対して行われたプルリクエストに基づいて関連があると思うもののいくつかは以下のとおりです。

Gradleのバージョンとプラグインを更新する以外に、repositoriesの下にgoogle()レポを追加する必要があります。

compileは現在implementationまたはapiですが、implementationが推奨されています。

providedcompileOnlyapkruntimeOnlyです

androidTestCompileandroidTestImplementationになり、testCompile - > testImplementation

フレーバーを使用する場合は、フレーバーの大きさを使用する必要があります(docsでカバーされています)。

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

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

testVariantsを使用する場合は、クラス内でtestedVariantを呼び出さないでください。これがSpoonライブラリの原因と思われます。

これらのことは、私が言うことができたことから、問題を解決するためになされた変更のいくつかです。

27
Zoe

私はPlayサービスGradleプラグインcom.google.gms:google-servicesとバージョン4.2.0を使っています。

ソースコードでそれを見ることができます: enter image description here

だから私にとっては、それが私の警告の理由であり、プラグインが修正されるまで取り除くことはできません。問題は ここ

@Zoeが述べたように、これは他のGradleプラグインからも来るかもしれません。

ベスト

12
user1998494

Fabric Gradleプラグインを最新バージョンにアップデートすると、この問題は解決します。

変更履歴から:

  • “ registerResGeneratingTask”非推奨警告を修正しました。

https://docs.fabric.io/Android/changelog.html#march-15-2018

9
luis_cortes

この問題は、Googleサービスプラグインバージョン4.3.0で解決されました( this commit で解決されました)

buildscript {
    dependencies {
        // Change version to 4.3.0
        classpath 'com.google.gms:google-services:4.3.0'
    }
}

見つかった ここ

6
Simpler

私の場合、これはAndroidサポートライブラリのバージョンの不一致が原因でした。私はすべてのモジュールを最新バージョン(28.0.0)にアップデートしましたが、それで解決しました。

2
Lee Hounshell

Fabricを正しくインストールした後、この問題は解決しました

import com.crashlytics.Android.Crashlytics;
import io.fabric.sdk.Android.Fabric;

public class MyApplication extends Application {


    @Override
    public void onCreate() {
        super.onCreate();
        Fabric.with(this, new Crashlytics());

    }
}

build.gradle

buildscript {
    repositories {
        maven { url 'https://maven.fabric.io/public' }
    }

    dependencies {
        classpath 'io.fabric.tools:gradle:1.+'
    }
}

apply plugin: 'com.Android.application'
apply plugin: 'io.fabric'

dependencies {
implementation 'com.crashlytics.sdk.Android:crashlytics:2.9.9'
}

repositories {
    mavenCentral()
    maven { url 'https://maven.fabric.io/public' }
}
1
Nithin Raja

私にとっては、Fabric Gradle Pluginをオフにしたときにこの警告は消えました。oこの警告の原因となっているFabricまたは別のプラグインを使用しているかどうかを確認してください。

0
Mate