compile
中用implementation
替换了build.gradle
的所有出现,但仍收到此警告:我试图在其中查找“编译”整个项目,但没有找到匹配的项目。那是什么原因呢?
#1 楼
我已经将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'
}
}
评论
配置“编译”已过时,并已由“实现”代替。它将在2018年底删除。为了清楚起见,我不使用任何Google服务依赖项{classpath'com.android.tools.build:gradle:3.1.0'}
– Amit_android
18-4-4在4:31
我收到“找不到com.google.gms:google-services:3.2.0”。当我尝试这个。更新:更改它会在我将其更改回3.1.1时手动触发棉绒警告,然后按Alt + Enter以应用修复程序将其自动更改为com.google.gms:google-services:3.2.0,同步时没有错误。我不确定有什么区别,但是令人沮丧。
– jwehrle
18年4月8日在21:18
好吧,我相信我理解其中的区别。我已将Project and Module build.gradle gms类路径更改为版本3.2.0。导致问题的原因是模块更改。仅更改Project build.gradle gms类路径版本。
– jwehrle
18年4月8日在21:27
我也缺少jcenter()回购!该项目很旧,没有回购!
– Yani2000
18年4月22日在16:53
您是说我应该手动将该行添加到文件中吗?
–晚安
18年4月22日在18:40
#2 楼
我对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中,依赖项是在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/当前/用户指南/dependency_management_for_java_projects.html
有关详细信息https://docs.gradle.org/current/userguide/declaring_dependencies.html
评论
请注意,“ testCompile”更改为“ testImplementation”。
– AJW
18年8月10日在3:05
大多数答案以及最受欢迎的答案都集中在com.google.gms:google-services上,但这都是关于更新两个gradle文件中的旧命名样式的全部
–kommradHomer
18年9月9日在21:12
#3 楼
我已将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'
}
}
评论
您只需要更改版本即可,例如我拥有此“ com.google.gms:google-services:3.2.0”,只需将3.2.0替换为3.2.1。
–Prateek218
18年7月25日在10:03
谢谢,我更新了错误的课程,这就是为什么我得到错误。
–霍拉
18年7月26日在0:51
我的版本类路径“ com.google.gms:google-services:4.1.0”不是最新更新的,是的,它大于3.2.0。仍然没有解决方案!
–sud007
19年2月22日在7:10
@ sud007您能否解释一下您面临的问题或发布build.gradle(项目级别)
–Prateek218
19-2-22在11:39
#4 楼
使用最新版本的google gms服务为我解决了该问题。在项目级别build.gradle:
buildscript {
...
dependencies {
classpath 'com.google.gms:google-services:3.2.1'
...
}
}
#5 楼
打开位于以下位置的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.+'
}
评论
谢谢你,朋友!截至2019年1月,这似乎是最新的答案
–NaturalBornCamper
19年1月21日在4:33
该答案对第一次遇到此问题的人有用。尽管,OP有一个不同的问题,即即使进行了这些更改,仍会显示错误消息。
–sud007
19年2月22日在7:07
#6 楼
google的回复:https://issuetracker.google.com/issues/74048134仍然有一些依赖项仍在使用编译,请仔细检查您的应用程序依赖项和可传递依赖项。
评论
我为我的项目删除了所有build.gradles中的所有依赖项,但仍然收到错误
–相信
18 Mar 28 '18在2:39
编辑:这是使用旧版本的领域引起的
–相信
18 Mar 28 '18在2:45
#7 楼
https://issuetracker.google.com/issues/72479188指示插件有时会引入“编译”依赖项,这就是触发警告的原因。也许最容易给该问题加注星标,然后等待他们修复它,以指出引起该问题的插件。#8 楼
无需删除该行。正如Jkrevis所写,将com.google.gms:google-services更新为3.2.0并停止警告。评论
您是否在项目的build.gradle(Module:App)中将所有出现的“ compile”替换为“ implementation”,并将build.gradle(Project)中的com.google.gms:google-services更新为3.2.0?
–汤姆
18-4-9在20:58
#9 楼
我没有使用com.google.gms:google-services
遇到此问题。 解决此类问题的解决方案如下:
检查所有项目和模块的
build.gradle
文件。或只是全局搜索关键字“ compile”以查找导致此警告的位置。如果上述方法不能解决此警告,请使用CLI命令,
./gradlew assembleDebug -d > gradle.log
将详细的调试信息打印到一个名为的文件中
gradle.log
或其他任何信息,因为信息太多。然后搜索单词“ WARNING”在gradle.log
中查找位置,通常可以找到引起该警告的依赖项或插件。评论
我认为这是一般的解决方案。该问题可能是由您的一个或多个依赖项引起的
– Rasmusob
18/12/10在12:26
#10 楼
就我而言,这是由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'
}
}
#11 楼
只是更新google-service版本对我不起作用。首先确保将所有依赖项
compile
替换为implementation
。更新项目中的所有依赖项。因为如果您的依赖项之一具有
compile
,则您的项目将显示此错误。因此,更新所有依赖项版本。#12 楼
转到项目级别的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
}
#13 楼
在我的情况下,这是一个旧的依赖关系,正在将compile用于传递性依赖关系:com.jakewharton.hugo
从我的gradle中删除它之后,就对其进行了编译。
#14 楼
解决此问题的方法对我来说是,我使用的是Gradle的旧版本,可以在这里找到:我使用gradle-3.0-rc-1-src版本,但其他版本也可以工作同样,尽管它可能不应该比3.0版本更新。
首先将zip文件解压缩到您喜欢的任何位置。
然后转到“文件”->“设置”->生成,执行,部署-> Gradle,并将设置更改为Use local gradle distribution。之后,请确保Gradle Home字段指向您刚刚解压缩到的目录中的.gradle目录。
重建项目,一切都应该正常。
#15 楼
我尝试将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"
}
最后警告被消除了!
#16 楼
您可以执行以下两个选择:在您的项目中添加类路径'com.google.gms:google-services:3.2.0':build.gradle依赖项
和< br替换您的模块:build.gradle依赖于与实现的依赖
,您将不会收到任何警告消息。
#17 楼
只需从build.gradle
的build script
中添加classpath 'com.google.gms:google-services:3.2.0'
,然后将所有依赖项
"compile"
替换为"implementation"
。 是我的工作。
评论
注意,如果使用的是类路径,则必须在buildscript块中使用它;而且,不能在buildscript块内使用实现。
–ChumiestBucket
19年1月9日,0:07
#18 楼
当前版本为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'
}
}
#19 楼
对我来说,将编译更改为实现已修复之前
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'
#20 楼
我整理了这里提到的所有解决方案,但是没有运气。我在build.gradle文件中发现如下:
dependencies {
classpath 'com.android.tools.build:gradle:3.3.0'
}
我只是如下更改并保存并尝试构建成功。
dependencies {
classpath 'com.android.tools.build:gradle:3.2.0'
}
#21 楼
希望您受到build.gradle(app)的影响如果这样做,请按照以下步骤操作
在build.gradle中用androidTestImplementation替换编译
androidTestImplementation 'com.android.support:appcompat-v7:27.1.1'
androidTestImplementation 'com.android.support:design:27.1.1'
很简单!希望这能解决
#22 楼
就我而言,问题是Google服务gradle插件,在gradle文件中包含以下行:Apply插件:'com.google.gms.google-services'
消除此问题已解决问题
#23 楼
转到您的build.gradle(应用程序级别)build.gradle模块应用程序
,并将“编译”一词替换为“实现”
会100%工作
评论
这个答案没有用。 OP已声明已完成,因此可能无济于事。
–NightOwl888
18年4月18日在1:20
我遇到了同样的问题,我无法生成该应用的apk bcoz,该答案解决了我的问题
– Ayoub
18年4月18日在12:52
这是不一样的情况,OP已经说过他这样做了(我也在同一条船上),这是由于依赖关系造成的
– ElliotM
18年4月27日在14:44
OP说:“我已经用实现取代了每次编译的发生”。
– mapo
18年7月18日在19:55
评论
您是否还在使用仍在使用“编译”的本地库?@Devsil可能...但是我如何找出哪一个呢?我在整个项目中尝试了“在路径中查找”,但是找不到任何编译对象。.
如果您使用的是本地库,则会在Android Studio窗口右侧的项目查看器中看到其gradle.build文件。在该build.gradle文件中,它可能包含与实现相反的“编译”。如果您看到任何build.gradle文件,则其中不包含该文件。您使用的图书馆可能不是本地的,因此您无权更改。因此,此警告暂时可以忽略。
Gradle应该提供发生问题的行号
试试看:stackoverflow.com/questions/48623244/…并解决以下问题:android.arch.persistence.room:runtime:1.1.1在“项目结构”对话框中打开“文件显示”,尝试将版本更改为1.0.0