.registerResGeneratingTask is deprecated, use
registerGeneratedFolders(FileCollection)
私が言えることから、クラスパスの依存関係として追加されたプラグインは問題を起こすでしょう。すなわち 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
が推奨されています。
provided
はcompileOnly
、apk
はruntimeOnly
です
androidTestCompile
はandroidTestImplementation
になり、testCompile
- > testImplementation
フレーバーを使用する場合は、フレーバーの大きさを使用する必要があります(docsでカバーされています)。
ビルドタイプの場合、そのビルドタイプを持たないライブラリがある場合は、フォールバックを含める必要があります。これらはprofile
ブロックの下のAndroid
ブロックに定義されています。
まだ行っていない場合は、最初にgradleプラグインを定義する必要があります。他にクラスパスの依存関係がなければ、問題ありません。あなたがそうするならば、gradleプラグインが最初に定義されていることを確認してください。
testVariants
を使用する場合は、クラス内でtestedVariant
を呼び出さないでください。これがSpoonライブラリの原因と思われます。
これらのことは、私が言うことができたことから、問題を解決するためになされた変更のいくつかです。
私はPlayサービスGradleプラグインcom.google.gms:google-services
とバージョン4.2.0
を使っています。
だから私にとっては、それが私の警告の理由であり、プラグインが修正されるまで取り除くことはできません。問題は ここ
@Zoeが述べたように、これは他のGradleプラグインからも来るかもしれません。
ベスト
Fabric Gradleプラグインを最新バージョンにアップデートすると、この問題は解決します。
変更履歴から:
この問題は、Googleサービスプラグインバージョン4.3.0で解決されました( this commit で解決されました)
buildscript {
dependencies {
// Change version to 4.3.0
classpath 'com.google.gms:google-services:4.3.0'
}
}
見つかった ここ
私の場合、これはAndroidサポートライブラリのバージョンの不一致が原因でした。私はすべてのモジュールを最新バージョン(28.0.0)にアップデートしましたが、それで解決しました。
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' }
}
私にとっては、Fabric Gradle Pluginをオフにしたときにこの警告は消えました。oこの警告の原因となっているFabricまたは別のプラグインを使用しているかどうかを確認してください。