android - ... 'app' 中的 android 项目已解决的 Google Play 服务库依赖项依赖于另一个确切版本
问题描述
我有一个运行良好的应用程序,但今天它在构建项目时出错。我花了一整天的时间从堆栈中尝试了太多的解决方案。没有任何工作。
我有以下应用程序-> build.gradle
apply plugin: 'com.android.application'
apply plugin: 'io.fabric'
android {
compileSdkVersion 29
defaultConfig {
applicationId "com.myapp.immuno"
minSdkVersion 16
targetSdkVersion 29
versionCode 1
versionName "2.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
multiDexEnabled true
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
aaptOptions.cruncherEnabled = false // here
}
}
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'androidx.appcompat:appcompat:1.1.0'
implementation 'com.google.android.material:material:1.0.0'
implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
implementation 'androidx.navigation:navigation-fragment:2.1.0'
implementation 'androidx.navigation:navigation-ui:2.1.0'
implementation 'androidx.lifecycle:lifecycle-extensions:2.1.0'
implementation 'androidx.legacy:legacy-support-v4:1.0.0'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'androidx.test:runner:1.2.0'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'
implementation 'com.google.code.gson:gson:2.8.5'
// Firebase libraries
implementation 'com.google.firebase:firebase-core:17.2.1'
implementation 'com.google.firebase:firebase-messaging:20.1.0'
implementation 'com.google.firebase:firebase-analytics:17.2.1'
implementation 'com.google.android.gms:play-services-auth:17.0.0'
implementation 'com.google.firebase:firebase-auth:19.2.0'
implementation 'com.google.firebase:firebase-crash:16.2.1'
implementation 'com.google.firebase:firebase-database:19.2.0'
implementation 'com.google.firebase:firebase-storage:19.1.0'
// circular image
implementation 'de.hdodenhof:circleimageview:2.2.0'
// RecyclerView
//noinspection GradleCompatible
implementation 'com.android.support:recyclerview-v7:28.0.0'
//FacebookSdk
//implementation 'com.facebook.android:facebook-android-sdk:4.37.0'
//implementation 'com.facebook.android:facebook-login:4.37.0'
// volley library
implementation 'com.android.volley:volley:1.1.1'
implementation 'com.google.android.gms:play-services:17.0.0'
implementation 'me.dm7.barcodescanner:zxing:1.9.8'
// Glide library to load images smoothly
implementation 'com.github.bumptech.glide:glide:4.8.0'
annotationProcessor 'com.github.bumptech.glide:compiler:4.8.0'
// To get date and time
implementation 'net.danlew:android.joda:2.10.1.1'
// external libraries for mail
implementation files('libs/activation.jar')
implementation files('libs/additionnal.jar')
implementation files('libs/mail.jar')
// Add the Fabric Crashlytics plugin.
//classpath 'io.fabric.tools:gradle:1.31.2'
// Add the Firebase Crashlytics dependency.
implementation 'com.crashlytics.sdk.android:crashlytics:2.10.1'
}
apply plugin: 'com.google.gms.google-services'
`
build.gradle 是
buildscript {
repositories {
google()
jcenter()
maven { url 'https://maven.fabric.io/public' }
}
dependencies {
classpath 'com.android.tools.build:gradle:3.5.3'
classpath 'com.google.gms:google-services:4.3.3'
classpath 'io.fabric.tools:gradle:1.31.2'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
google()
jcenter()
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
在构建项目时我收到了这个错误
错误:在项目“应用程序”中,已解析的 Google Play 服务库依赖项依赖于另一个确切版本(例如“[20.0.2]”,但未解析为该版本。库表现出的行为未知。
依赖失败:com.google.firebase:firebase-messaging:20.1.0 -> com.google.firebase:firebase-iid@[20.0.2],但 firebase-iid 版本为 19.0.0。
The following dependencies are project dependencies that are direct or have transitive dependencies that lead to the art ifact with the issue. -- Project 'app' depends onto com.google.firebase:firebase-iid@{strictly 19.0.0} -- Project 'app' depends onto com.google.firebase:firebase-core@17.2.1 -- Project 'app' depends onto com.google.firebase:firebase-crash@16.2.1 -- Project 'app' depends onto com.google.firebase:firebase-messaging@{strictly 20.1.0} -- Project 'app' depends onto com.google.firebase:firebase-messaging@20.1.0 -- Project 'app' depends onto com.google.firebase:firebase-crash@{strictly 16.2.1} -- Project 'app' depends onto com.google.firebase:firebase-analytics@17.2.1 -- Project 'app' depends onto com.google.firebase:firebase-core@{strictly 17.2.1} -- Project 'app' depends onto com.google.firebase:firebase-analytics@{strictly 17.2.1} -- Project 'app' depends onto com.google.android.gms:play-services-measurement-api@{strictly 17.2.1}
对于扩展调试信息,使用 ./gradlew --info :app:assembleDebug 从命令行执行 Gradle 以查看工件的依赖路径。此错误消息来自 google-services Gradle 插件,在https://github.com/google/play-services-plugins报告问题并通过将“googleServices { disableVersionCheck = false }”添加到您的 build.gradle 文件来禁用。
解决方案
这是我执行的步骤并解决了问题:
- 我
com.google.firebase:firebase-messaging:20.1.0
改为com.google.firebase:firebase-messaging:20.0.1
- 同步梯度
- 并回滚更改(将20.0.1更改为20.1.0)
- 如果同步并运行应用程序,您将看到该问题已解决!
我知道这不是正确的方法,但解决了我的问题。任何正确的都应该被替换。
推荐阅读
- angular - 如何将输入和结果数据显示中的数据发布到 Angular 中的组件?
- angular - 如何获取订阅之外的价值?
- java - 大型对象描述符是否有多个“特殊值”
- python - 从 erpnext 将产品图像发布到 woocommerce rest api 时出错
- php - Laravel Livewire:除非使用 uniqid(),否则组件键不起作用?
- javascript - 从 API 迭代数据
- php - 如果存在 HTTP 身份验证,为什么要使用自定义表单进行身份验证?
- javascript - 如何添加 JSON 数组对象的数值?
- python - 如何用python解决具有有限差分的非线性ode二阶?
- python - 如何对列表列表进行排序,而不管它们的顺序如何?