私は自分のプロジェクトのbuild.gradle
ですべてのcompile
をimplementation
に置き換えましたが、それでもこの警告が出ます
プロジェクト全体で「コンパイル」しようとしましたが、一致するものが見つかりませんでした。それで、何が原因でありえましたか?
com.google.gms:google-services
を3.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'
}
}
Com.google.gms:google-servicesにも同じ警告が表示されます。
解決策は build.gradle Projectのファイルでclasspath com.google.gms:google-servicesをclasspath 'com.google.gms:google-services:3.2.0'にアップグレードする
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によって新しいプロジェクト用に生成されます。
https://docs.gradle.org/current/userguide/dependency_management_for_Java_projects.html にアクセスしてください。
詳しくは https://docs.gradle.org/current/userguide/declaring_dependencies.html をご覧ください。
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'
}
}
現在の最新バージョンのgoogle gmsサービスを使用して解決しました。
プロジェクトレベルではbuild.gradle:
buildscript {
...
dependencies {
classpath 'com.google.gms:google-services:3.2.1'
...
}
}
ここにあるbuild.gradleファイルを開きます。
これは依存関係ライブラリを書くための古い方法です(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.+'
}
Googleで返信: https://issuetracker.google.com/issues/74048134
まだコンパイルを使用しているいくつかの依存関係があるでしょう、あなたのアプリケーション依存関係と他動詞依存関係を慎重にチェックしてください。
https://issuetracker.google.com/issues/72479188 は、プラグインが「コンパイル」依存関係を導入することがあることを示し、それが警告の引き金となります。おそらく最も簡単にその問題にスターを付けて、どのプラグインが問題を引き起こしているかを指摘するために彼らがそれを修正するまで待ちます。
行を削除する必要はありません。 Jkrevisが書いたように、com.google.gms:google-servicesを3.2.0に更新すると警告が止まります。
私の場合は、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'
}
}
Googleサービスのバージョンを更新するだけではうまくいきませんでした。
compile
がimplementation
に置き換えられていることを確認してください。compile
があると、プロジェクトにこのエラーが表示されるためです。そのため、すべての依存関係のバージョンを更新してください。私はcom.google.gms:google-services
を使わずにこの問題に遭遇しました。 このような問題を解決する解決策は以下のとおりです。
build.gradle
ファイルを確認してください。あるいはグローバル検索キーWordを「コンパイル」するだけで、この警告の原因となっている箇所を見つけることができます。
./gradlew assembleDebug -d > gradle.log
を使用してください。gradle.log
またはその他の名前のファイルに出力します。それからWord "WARNING"を検索してgradle.log
の中の位置を見つけてください、通常あなたはどんな依存やプラグインが警告を引き起こしているのかを見つけることができます。私の場合、それは他の依存関係のためにcompileを使っていた古い依存関係でした:com.jakewharton.hugo
私のgradleからそれを取り除いた後、それはコンパイルされました。
プロジェクトレベルで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
}
この問題を解決するための回避策は、私には古いバージョンのGradleを使用したことです。これは here :にあります。
私はgradle-3.0-rc-1-srcバージョンを使用しましたが、他のものでも動作するかもしれませんが、おそらく3.0バージョンよりも新しいものではないはずです。
まずZipファイルを好きな場所に解凍します。
次に、「ファイル」 - >「設定」 - >「ビルド」、「実行」、「デプロイメント」 - >「Gradle」の順に選択し、設定を「ローカルgradle配布を使用」に変更します。その後、Gradle Home-fieldが、先ほど解凍したディレクトリ内の.gradleディレクトリを指していることを確認してください。
プロジェクトを再ビルドすれば、すべて問題ありません。
build.gradle
からbuild script
を追加するだけです
classpath 'com.google.gms:google-services:3.2.0'
そしてすべての依存関係"compile"
は"implementation"
に置き換えられます。
それは私から働いた。
compileをimplementationに変更して修正した
前
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'
Android Studio 3.0.1で google gms services を最新のcom.google.gms:google-services:3.2.1
に変更しようとしましたが、それでも警告が表示されます。
コンパイラが推奨するように、私はすべてのcompile
依存関係をimplementation
に、そしてtestCompile
をtestImplementation
に変更しました。
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"
}
そしてついに警告は取り除かれました!
現在のバージョンは 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'
}
}
これには2つの選択肢があります。