liv*_*ove 16 android android-gradle-plugin firebaseui
尝试使用FireStore和Google身份验证创建一个简单的应用程序。gradle有问题:
在项目“应用”中,已解析的Google Play服务库依赖项依赖于另一个版本(例如“ [15.0。1]”),但尚未解析为该版本。库所表现出的行为将是未知的。
依赖项失败:com.google.android.gms:play-services-flags:15.0.1-> com.google.android.gms:play-services-basement @ [15.0.1],但是play-services-basement版本是16.0.1。
以下依赖关系是直接或具有传递性依赖关系的项目依赖关系,会导致问题解决。-专案「app」取决于com.google.firebase:firebase-firestore@17.1.5-专案「app」取决于com.firebaseui:firebase-ui-auth@4.2.0
有关扩展的调试信息,请从命令行使用./gradlew --info:app:assembleDebug执行Gradle,以查看工件的dep endency路径。此错误消息来自google-services Gradle插件,在https://github.com/google/play-services-plugins上报告问题,并通过在您的build.gradle文件中添加“ googleServices {disableVersionCheck = false}”来禁用该错误消息。
apply plugin: 'com.android.application'
android {
compileSdkVersion 27
defaultConfig {
applicationId "myapp.com"
minSdkVersion 19
targetSdkVersion 27
versionCode 11
versionName "1.1"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
multiDexEnabled true
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.android.support:appcompat-v7:27.1.1'
implementation 'com.android.support.constraint:constraint-layout:1.1.3'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
implementation 'com.google.firebase:firebase-firestore:17.1.5'
implementation 'com.firebaseui:firebase-ui-auth:4.2.0'
}
apply plugin: 'com.google.gms.google-services'
com.google.gms.googleservices.GoogleServicesPlugin
Run Code Online (Sandbox Code Playgroud)
项目gradle:
buildscript {
repositories {
google()
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.2.1'
classpath 'com.google.gms:google-services:4.2.0'
}
}
Run Code Online (Sandbox Code Playgroud)
有人可以帮我吗?
mue*_*flo 40
这里有很多针对个别解决方案的答案,这些解决方案并没有真正解决问题。以下是一般解决此问题的方法:
正如原始日志输出所暗示的那样,使用以下命令在终端中运行构建很有用:
./gradlew --info assembleDebug
这将为您提供冲突中涉及的所有依赖项的列表。它看起来与此类似(我删除了包名内容以使其更具可读性):
Dependency Resolution Help: Displaying all currently known paths to any version of the dependency: Artifact(groupId=com.google.firebase, artifactId=firebase-iid)
-- task/module dep -> firebase-analytics@17.2.0
---- firebase-analytics:17.2.0 library depends -> play-services-measurement-api@17.2.0
------ play-services-measurement-api:17.2.0 library depends -> firebase-iid@19.0.0
-- task/module dep -> firebase-core@17.2.0
---- firebase-core:17.2.0 library depends -> firebase-analytics@17.2.0
------ firebase-analytics:17.2.0 library depends -> play-services-measurement-api@17.2.0
-------- play-services-measurement-api:17.2.0 library depends -> firebase-iid@19.0.0
-- task/module dep -> play-services-measurement-api@17.2.0
---- play-services-measurement-api:17.2.0 library depends -> firebase-iid@19.0.0
-- task/module dep -> firebase-iid@19.0.0
-- task/module dep -> firebase-messaging@17.1.0
---- firebase-messaging:17.1.0 library depends -> firebase-iid@[16.2.0]
-- task/module dep -> com.pressenger:sdk@4.8.0
---- com.pressenger:sdk:4.8.0 library depends -> firebase-messaging@17.1.0
------ firebase-messaging:17.1.0 library depends -> firebase-iid@[16.2.0]
Run Code Online (Sandbox Code Playgroud)
从这个列表中,您可以了解两件事:
在我的情况下,冲突的依赖关系是firebase-iid:它要么@19.0.0或@16.2.0
要解决此问题,您必须firebase-iid在build.gralde.
因此,在上面的日志中,您可以看到 2 个过时版本的 firebase-iid@16.2.0 示例。一个来自-- task/module dep -> firebase-messaging@17.1.0第三方库(pressenger)。我们对第三方库没有影响,所以这里无事可做。但是对于其他依赖项,我们必须使用正确的版本明确声明它:
implementation 'com.google.firebase:firebase-messaging:20.0.0'
现在构建再次工作。美好结局 :)
liv*_*ove 15
问题是它缺少依赖项。添加com.google.firebase:firebase-auth解决了该问题。
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.android.support:appcompat-v7:27.1.1'
implementation 'com.android.support.constraint:constraint-layout:1.1.3'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
implementation 'com.google.firebase:firebase-firestore:17.1.5'
// implementation'com.google.firebase:firebase-core:16.0.6'
// implementation'com.google.firebase:firebase-storage:16.0.5'
implementation'com.google.firebase:firebase-auth:16.1.0' => add this line
implementation 'com.firebaseui:firebase-ui-auth:4.2.0'
}
Run Code Online (Sandbox Code Playgroud)
Cod*_*ody 12
Google Services 4.2.0 存在一个已知的错误,可能会导致此错误。在项目的build.gradle中将google-services版本降级为4.1.0可能会解决该问题
buildscript {
dependencies {
classpath 'com.google.gms:google-services:4.1.0' //decreased from 4.2.0
}
}
Run Code Online (Sandbox Code Playgroud)
Rya*_*lor 12
有一个与 google-services 相关的错误,最终在4.3.3.
所以你可以使用 4.3.3 或最新版本(检查这里)
classpath 'com.google.gms:google-services:4.3.3' // or latest version
Run Code Online (Sandbox Code Playgroud)
或降级到 4.1.0
classpath 'com.google.gms:google-services:4.1.0'
Run Code Online (Sandbox Code Playgroud)
小智 8
您app/build.gradle可能在 Android Studio 中的依赖项部分阻止了这些柠檬色,如下图所示,

这些(柠檬色块)意味着它不是最新版本的依赖项。只需将鼠标放在每个块上,IDE(Android Studio)就会告诉必须更改的数字。
将我所有的 Google Play 服务库更新到所有模块中的最新版本为我解决了这个问题。我没有看到您有任何 Google Play 服务库,但我想把这个答案留在这里给那些可能觉得有用的人。
我在我的项目中将最新版本的Firebase消息传递添加到build.gradle(Module:app)中并解决了问题
implementation 'com.google.firebase:firebase-messaging:20.0.0'
Run Code Online (Sandbox Code Playgroud)
我的项目运行正常(无构建问题)。突然,我得到了这个错误
“已解决的Google Play服务库依赖关系取决于另一个版本。”
我发现这是因为我正在离线构建。
如果有人遇到相同的错误,请检查您是否正在离线构建。
| 归档时间: |
|
| 查看次数: |
20360 次 |
| 最近记录: |