我已在项目compile
中将implementation
的{{1}}替换为build.gradle
,但我仍然收到此警告:
我试图寻找"编译"在整个项目中,但未找到匹配项。那可能是什么原因?
答案 0 :(得分:461)
我已将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'
}
}
答案 1 :(得分:119)
我对com.google.gms:google-services有同样的警告。
解决方案是将classpath com.google.gms:google-services升级到classpath'com.google.gms:google-services:3.2.0'在build.gradle文件中的项目:
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版本3.1依赖项中,complie word被替换为 实施
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'
}
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'
}
通过Android Studio 3.1为新项目生成Gradel。
访问https://docs.gradle.org/current/userguide/dependency_management_for_java_projects.html
详细信息https://docs.gradle.org/current/userguide/declaring_dependencies.html
答案 2 :(得分:29)
我已将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'
}
}
答案 3 :(得分:21)
使用当前最新版本的google gms服务为我解决了这个问题。
在项目级别build.gradle:
buildscript {
...
dependencies {
classpath 'com.google.gms:google-services:3.2.1'
...
}
}
答案 4 :(得分:16)
打开位于此处的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.+'
}
答案 5 :(得分:12)
谷歌回复:https://issuetracker.google.com/issues/74048134
仍然会有一些使用compile的依赖项,请仔细检查应用程序依赖项和传递依赖项。
答案 6 :(得分:7)
https://issuetracker.google.com/issues/72479188表示插件有时可以引入"编译"依赖关系以及触发警告的因素。可能只是最简单地解决这个问题并等到他们修复它以指出哪些插件导致问题。
答案 7 :(得分:6)
无需删除该行。正如Jkrevis所写,将com.google.gms:google-services更新为3.2.0并停止警告。
答案 8 :(得分:4)
在我的情况下,它是由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'
}
}
答案 9 :(得分:4)
我在不使用com.google.gms:google-services
的情况下遇到了此问题。
解决此类问题的解决方案如下:
build.gradle
文件。或者只是全局搜索关键字“编译”以查找导致此警告的原因。
./gradlew assembleDebug -d > gradle.log
gradle.log
或其他文件的文件中,因为该信息太多。然后搜索单词“ WARNING”以找到gradle.log
中的位置,通常可以找到引起该警告的依赖项或插件。答案 10 :(得分:3)
仅更新google-service版本对我不起作用。
compile
替换为implementation
。compile
,那么您的项目将显示此错误。因此,更新所有依赖项版本。答案 11 :(得分:2)
在项目级别转到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
}
答案 12 :(得分:2)
在我的情况下,这是一个旧的依赖项,正在将compile用于传递性依赖项:com.jakewharton.hugo
从我的gradle中将其删除后,将其编译。
答案 13 :(得分:1)
解决此问题的解决方法是我使用旧版本的Gradle,可以找到here:
我使用的是gradle-3.0-rc-1-src版本,但其他版本也可以使用,但可能不会比3.0版本更新。
首先将zip文件解压缩到任何你喜欢的地方。
然后转到文件 - >设置 - >构建,执行,部署 - > Gradle并将设置更改为Use local gradle distribution。之后,请确保Gradle Home-field指向您刚刚解压缩到的目录中的.gradle目录。
重建项目,一切都应该没问题。
答案 14 :(得分:0)
我尝试将 google gms服务更改为Android Studio 3.0.1中的最新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"
}
最后警告被删除了!
答案 15 :(得分:0)
您可以执行以下两个选择:
答案 16 :(得分:0)
只需从build.gradle
的{{1}}添加
build script
,所有依赖项classpath 'com.google.gms:google-services:3.2.0'
替换为"compile"
。
这是我的工作。
答案 17 :(得分:0)
当前版本为 4.2.0 :
buildscript {
$dir = 'data';
$exclude = array('.', '..', '.htaccess');
$q = (isset($_GET['q'])) ? strtolower($_GET['q']) : '';
$res = opendir($dir);
while(false !== ($file = readdir($res))) {
if(strpos(strtolower($file), $q) !== false &&!in_array($file, $exclude)) {
echo "<a href='$dir/$file'>$file</a>";
echo "<br>";
}
}
closedir($res);
}
答案 18 :(得分:0)
对我来说,将编译更改为实现即可解决
之前
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'
答案 19 :(得分:0)
我整理了这里提到的所有解决方案,但是没有运气。 我在build.gradle文件中发现如下:
dependencies {
classpath 'com.android.tools.build:gradle:3.3.0'
}
我只是按如下所示进行了更改,然后保存并尝试构建成功。
dependencies {
classpath 'com.android.tools.build:gradle:3.2.0'
}
答案 20 :(得分:-2)
希望您受build.gradle(app)影响 如果这样做,请按照以下步骤
在build.gradle中用 androidTestImplementation替换编译
androidTestImplementation 'com.android.support:appcompat-v7:27.1.1'
androidTestImplementation 'com.android.support:design:27.1.1'
那么简单!希望这能解决
答案 21 :(得分:-3)
在我的情况下,问题是Google服务gradle插件,在gradle文件中包含以下行:
应用插件:“ com.google.gms.google-services”
删除此内容即可解决问题
答案 22 :(得分:-7)