web-dev-qa-db-ja.com

まだ警告を受けています:設定 'compile'は時代遅れで '実装'に置き換えられました

私は自分のプロジェクトのbuild.gradleですべてのcompileimplementationに置き換えましたが、それでもこの警告が出ます

enter image description here

プロジェクト全体で「コンパイル」しようとしましたが、一致するものが見つかりませんでした。それで、何が原因でありえましたか?

283
Rob

com.google.gms:google-services3.1.1から3.2.0に更新しましたが、警告が表示されなくなりました。

buildscript {

    repositories {
        google()
        jcenter()
    }
    dependencies {
        classpath 'com.Android.tools.build:gradle:3.1.0'

    // NOTE: Do not place your application dependencies here; they belong
    // in the individual module build.gradle files

    classpath 'com.google.gms:google-services:3.2.0'
    }
}
433
Jkrevis

Com.google.gms:google-servicesにも同じ警告が表示されます。

解決策は build.gradle Projectのファイルでclasspath com.google.gms:google-servicesをclasspath 'com.google.gms:google-services:3.2.0'にアップグレードする

enter image description here

buildscript {
    repositories {
        jcenter()
        google()
    }
    dependencies {
        classpath 'com.Android.tools.build:gradle:3.1.0'

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
        classpath 'com.google.gms:google-services:3.2.0'
    }
}

allprojects {
    repositories {
        jcenter()
        google()
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

Android Studio verion 3.1では、従順さに準拠したWordが実装に置き換えられています。

Warningとの依存関係 Android studio 3.1では

dependencies {
            compile fileTree(dir: 'libs', include: ['*.jar'])
            compile 'com.Android.support:appcompat-v7:27.1.0'
            compile 'com.Android.support.constraint:constraint-layout:1.0.2'
            testImplementation 'junit:junit:4.12'
            androidTestImplementation 'com.Android.support.test:runner:1.0.1'
            androidTestImplementation 'com.Android.support.test.espresso:espresso-core:3.0.1'
    }

依存関係はOK Android Studio 3.1では

    dependencies {
            implementation fileTree(dir: 'libs', include: ['*.jar'])
            implementation 'com.Android.support:appcompat-v7:27.1.0'
            implementation 'com.Android.support.constraint:constraint-layout:1.0.2'
            testImplementation 'junit:junit:4.12'
            androidTestImplementation 'com.Android.support.test:runner:1.0.1'
            androidTestImplementation 'com.Android.support.test.espresso:espresso-core:3.0.1'

    }

GradelはAndroid Studio 3.1によって新しいプロジェクト用に生成されます。

Gradel generate by Android Studio 3.1 for new project.

https://docs.gradle.org/current/userguide/dependency_management_for_Java_projects.html にアクセスしてください。

詳しくは https://docs.gradle.org/current/userguide/declaring_dependencies.html をご覧ください。

113
Didier

Com.google.gms:google-servicesを3.2.0から3.2.1に更新したところ、警告が表示されなくなりました。

 buildscript {

    repositories {
        google()
        jcenter()
    }
    dependencies {
        classpath 'com.Android.tools.build:gradle:3.1.1'
        classpath 'com.google.gms:google-services:3.2.1'

    }
}
28
Prateek218

現在の最新バージョンのgoogle gmsサービスを使用して解決しました。

プロジェクトレベルではbuild.gradle:

buildscript {
    ...
    dependencies {
        classpath 'com.google.gms:google-services:3.2.1'
        ...  
    }
}
21
Hovanes Mosoyan

ここにあるbuild.gradleファイルを開きます。 

enter image description here

これは依存関係ライブラリを書くための古い方法です(gradleバージョン2以下の場合):

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    testCompile 'junit:junit:4.12'
    compile files('libs/volley.jar')
    compile 'com.Android.support:support-v4:21.+'
}

これは、gradleバージョン3の依存関係をインポートするための新しい(正しい)方法です。

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    testImplementation 'junit:junit:4.12'
    implementation files('libs/volley.jar')
    implementation 'com.Android.support:support-v4:21.+'
}
16
Gene

Googleで返信: https://issuetracker.google.com/issues/74048134

まだコンパイルを使用しているいくつかの依存関係があるでしょう、あなたのアプリケーション依存関係と他動詞依存関係を慎重にチェックしてください。

11
quangkid

https://issuetracker.google.com/issues/72479188 は、プラグインが「コンパイル」依存関係を導入することがあることを示し、それが警告の引き金となります。おそらく最も簡単にその問題にスターを付けて、どのプラグインが問題を引き起こしているかを指摘するために彼らがそれを修正するまで待ちます。

7
Eric

行を削除する必要はありません。 Jkrevisが書いたように、com.google.gms:google-servicesを3.2.0に更新すると警告が止まります。

6
Tom

私の場合は、Realmライブラリのせいで、これをRealmの最新バージョン(これまでの5.1.0)にアップデートしたところ、問題は解決しました!

これが実用的なgradleスクリプトです。 

buildscript {
repositories {
    jcenter()
    google()
}

dependencies {
    classpath 'com.Android.tools.build:gradle:3.1.2'
    classpath "io.realm:realm-gradle-plugin:5.1.0"
    // NOTE: Do not place your application dependencies here; they belong
    // in the individual module build.gradle files
    classpath 'com.google.gms:google-services:3.2.1'
  }
}
4
ken

Googleサービスのバージョンを更新するだけではうまくいきませんでした。  

  • まず、すべての依存関係compileimplementationに置き換えられていることを確認してください。
  • プロジェクト内のすべての依存関係を更新します。依存関係の1つにcompileがあると、プロジェクトにこのエラーが表示されるためです。そのため、すべての依存関係のバージョンを更新してください。
3
Khemraj

私はcom.google.gms:google-servicesを使わずにこの問題に遭遇しました。 このような問題を解決する解決策は以下のとおりです。

  1. すべてのプロジェクトとモジュールのbuild.gradleファイルを確認してください。あるいはグローバル検索キーWordを「コンパイル」するだけで、この警告の原因となっている箇所を見つけることができます。
  2. 上記の方法でこの警告を解決できない場合は、CLIコマンド ./gradlew assembleDebug -d > gradle.log を使用してください。
    情報が多すぎるので、詳細なデバッグ情報をgradle.logまたはその他の名前のファイルに出力します。それからWord "WARNING"を検索してgradle.logの中の位置を見つけてください、通常あなたはどんな依存やプラグインが警告を引き起こしているのかを見つけることができます。
2
zhangliang

私の場合、それは他の依存関係のためにcompileを使っていた古い依存関係でした:com.jakewharton.hugo

私のgradleからそれを取り除いた後、それはコンパイルされました。 

2
PerrierCitror

プロジェクトレベルでbuild.gradleファイルに移動すると、次の行が強調表示されます。

dependencies {
    classpath 'com.Android.tools.build:gradle:3.1.4'  //place your cursor over here 
    //and hit alt+enter and it will show you the appropriate version to select


    // NOTE: Do not place your application dependencies here; they belong
    // in the individual module build.gradle files

    classpath 'com.google.gms:google-services:4.0.2' //the same as previously
}
2
Rabie Hamza

この問題を解決するための回避策は、私には古いバージョンのGradleを使用したことです。これは here :にあります。

私はgradle-3.0-rc-1-srcバージョンを使用しましたが、他のものでも動作するかもしれませんが、おそらく3.0バージョンよりも新しいものではないはずです。

まずZipファイルを好きな場所に解凍します。

次に、「ファイル」 - >「設定」 - >「ビルド」、「実行」、「デプロイメント」 - >「Gradle」の順に選択し、設定を「ローカルgradle配布を使用」に変更します。その後、Gradle Home-fieldが、先ほど解凍したディレクトリ内の.gradleディレクトリを指していることを確認してください。

プロジェクトを再ビルドすれば、すべて問題ありません。

1
tpn

build.gradleからbuild scriptを追加するだけです

classpath 'com.google.gms:google-services:3.2.0'

そしてすべての依存関係"compile""implementation"に置き換えられます。 

それは私から働いた。

compileimplementationに変更して修正した

compile 'androidx.recyclerview:recyclerview:1.0.0'
compile 'androidx.cardview:cardview:1.0.0'
//Retrofit Dependencies
compile 'com.squareup.retrofit2:retrofit:2.1.0'
compile 'com.squareup.retrofit2:converter-gson:2.1.0'

implementation 'androidx.recyclerview:recyclerview:1.0.0'
implementation 'androidx.cardview:cardview:1.0.0'
//Retrofit Dependencies
implementation 'com.squareup.retrofit2:retrofit:2.1.0'
implementation 'com.squareup.retrofit2:converter-gson:2.1.0'
0
Jagadesha NH

Android Studio 3.0.1で google gms services を最新のcom.google.gms:google-services:3.2.1に変更しようとしましたが、それでも警告が表示されます。

コンパイラが推奨するように、私はすべてのcompile依存関係をimplementationに、そしてtestCompiletestImplementationに変更しました。

dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs')
implementation 'com.Android.support:appcompat-v7:27.1.1'
implementation 'com.Android.support:mediarouter-v7:27.1.1'
implementation 'com.Android.support:design:27.1.1'
implementation 'com.google.firebase:firebase-ads:12.0.1'
implementation 'com.google.firebase:firebase-crash:12.0.1'
implementation 'com.google.firebase:firebase-core:12.0.1'
implementation 'com.google.firebase:firebase-messaging:12.0.1'
implementation 'com.google.firebase:firebase-perf:12.0.1'
implementation 'com.google.firebase:firebase-appindexing:12.0.1'
implementation 'com.Android.support.constraint:constraint-layout:1.0.2'
testImplementation 'junit:junit:4.12'
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
}

そしてついに警告は取り除かれました!

0
Haileapp

現在のバージョンは 4.2.0 :です。

buildscript {

repositories {
    google()
    jcenter()
}
dependencies {
    classpath 'com.Android.tools.build:gradle:3.4.0'

    // NOTE: Do not place your application dependencies here; they belong
    // in the individual module build.gradle files
    classpath 'com.google.gms:google-services:4.2.0'
}

}

0
xscoder

これには2つの選択肢があります。

  1. Urプロジェクトにクラスパス 'com.google.gms:google-services:3.2.0'を追加します。build.gradle依存関係および 
  2. あなたのmodule:build.gradleをインプリメンテーションに準拠させるために置き換えてください。警告メッセージは表示されません。
0
Jasbin Karki