android - 最高的 firebase 版本代码也用于编译播放服务库

标签 android firebase gradle android-gradle-plugin google-play-services

我在我的项目中使用了某些 firebase 和 play 服务库。将播放服务插件版本更新到 4.0.0 后。由于 firebase 和 play 服务现在对每个库使用不同的版本编码策略,因此所有其他库都替换了其中任何一个中的最高版本代码。这导致无法解析仍在使用较低版本代码的库。

构建.gradle

    buildscript {

    ext.kotlin_version = '1.2.41'

    repositories {
        google()
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.1.2'
        classpath 'com.google.gms:google-services:4.0.0'
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        google()
        jcenter()
        mavenCentral()
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

应用程序.gradle

apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
//apply plugin: 'kotlin-kapt'
apply plugin: 'com.onesignal.androidsdk.onesignal-gradle-plugin'

android {
    compileSdkVersion 27
    buildToolsVersion '27.0.3'
    defaultConfig {
        applicationId "com.vanse.android"
        minSdkVersion 19
        targetSdkVersion 27
        versionCode 1
        versionName "8.0"
        multiDexEnabled true
        vectorDrawables.useSupportLibrary = true
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"

        manifestPlaceholders = [onesignal_app_id               : ONE_SIGNAL_APP_ID,
                                onesignal_google_project_number: "REMOTE"]
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    compileOptions {
        targetCompatibility 1.8
        sourceCompatibility 1.8
    }
    lintOptions {
        abortOnError false
    }
}
buildscript {
    repositories {
        maven { url 'https://plugins.gradle.org/m2/' }
    }
    dependencies {
        classpath 'gradle.plugin.com.onesignal:onesignal-gradle-plugin:0.8.1'
    }
}

repositories {
    maven { url 'https://maven.google.com' }
}

dependencies {
    implementation fileTree(include: ['*.jar'], dir: 'libs')
    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.android.support:support-v4:27.1.1'
    implementation 'com.android.support:support-vector-drawable:27.1.1'
    implementation 'com.android.support:multidex:1.0.3'
    implementation 'com.android.support:appcompat-v7:27.1.1'
    implementation 'com.android.support.constraint:constraint-layout:1.1.0'
    implementation 'com.android.support:design:27.1.1'
    implementation 'com.android.support:recyclerview-v7:27.1.1'
    implementation 'com.android.support:cardview-v7:27.1.1'
    implementation 'com.android.support:support-annotations:27.1.1'
    implementation 'com.android.support:mediarouter-v7:27.1.1'

    //To upgrade dependency used in library picasso
    implementation 'com.android.support:exifinterface:27.1.1'
    //To upgrade dependency used in library OneSignal and Facebook
    implementation 'com.android.support:customtabs:27.1.1'
    //FireBase Dynamic Links
    implementation 'com.google.firebase:firebase-core:16.0.0'
    implementation 'com.google.firebase:firebase-invites:16.0.0'
    implementation 'com.google.firebase:firebase-appindexing:15.0.1'
    implementation 'com.google.firebase:firebase-ads:16.0.0'

    //Google Sign In
    implementation 'com.google.android.gms:play-services-auth:15.0.1'
    implementation 'com.google.android.gms:play-services-gcm:15.0.1'
    implementation 'com.google.android.gms:play-services-location:15.0.1'
    implementation 'com.google.android.gms:play-services-base:15.0.1'
    //ChromeCast
    implementation 'com.google.android.gms:play-services-cast-framework:15.0.1'
    //Download Manager
    implementation "com.tonyodev.fetch2:fetch2:2.0.0-RC19"
    implementation "com.tonyodev.fetch2downloaders:fetch2downloaders:2.0.0-RC19"
    implementation "com.tonyodev.fetch2rx:fetch2rx:2.0.0-RC19"
    implementation "com.tonyodev.fetchmigrator:fetchmigrator:2.0.0-RC19"
    //Kotlin Dependency
    implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
    //Network Calls
    implementation 'com.android.volley:volley:1.1.0'
    //JSON Parsing
    implementation 'com.google.code.gson:gson:2.8.2'
    //Push Notification
    implementation 'com.onesignal:OneSignal:[3.9.1, 3.99.99]'
    //Image Loader
    implementation 'com.github.bumptech.glide:glide:4.7.1'
    //Facebook SDK
    implementation 'com.facebook.android:facebook-android-sdk:4.31.0'
    //Detect Memory leaks
    debugImplementation 'com.squareup.leakcanary:leakcanary-android:1.5.4'
    releaseImplementation 'com.squareup.leakcanary:leakcanary-android-no-op:1.5.4'

    //Image Loading library
    implementation 'com.squareup.picasso:picasso:2.71828'
    //Image Caching library
    implementation 'com.squareup.okhttp3:okhttp:3.10.0'
    //For live radio wave layout
    implementation 'me.itangqi.waveloadingview:library:0.3.5'
    //For audio and video player
    implementation 'com.google.android.exoplayer:exoplayer:2.7.3'
    //For multipart file upload
    implementation 'com.koushikdutta.ion:ion:2.2.1'
    //pulse animation
    implementation 'pl.bclogic:pulsator4droid:1.0.3'
    //Payment Gateway
    implementation 'com.razorpay:checkout:1.4.7'

    implementation('io.socket:socket.io-client:1.0.0') {
        exclude group: 'org.json', module: 'json'
    }
    annotationProcessor 'com.github.bumptech.glide:compiler:4.7.1'
//    kapt 'com.github.bumptech.glide:compiler:4.7.1'
    implementation files('libs/tokenautocomplete-2.0.8.jar')
}

apply plugin: 'com.google.gms.google-services'

错误

FAILURE: Build failed with an exception.

* What went wrong:
Could not resolve all files for configuration ':app:debugCompileClasspath'.
> Could not find com.google.firebase:firebase-appindexing:16.0.0.
  Required by:
      project :app
> Could not find com.google.firebase:firebase-ads:16.0.0.
  Required by:
      project :app
> Could not find com.google.android.gms:play-services-auth:16.0.0.
  Required by:
      project :app
> Could not find com.google.android.gms:play-services-gcm:16.0.0.
  Required by:
      project :app
> Could not find com.google.android.gms:play-services-location:16.0.0.
  Required by:
      project :app
> Could not find com.google.android.gms:play-services-base:16.0.0.
  Required by:
      project :app
      project :app > com.google.firebase:firebase-invites:16.0.0 > com.google.android.gms:play-services-appinvite:16.0.0
      project :app > com.google.firebase:firebase-invites:16.0.0 > com.google.android.gms:play-services-appinvite:16.0.0 > com.google.firebase:firebase-dynamic-links:16.0.0
      project :app > com.google.firebase:firebase-core:16.0.0 > com.google.firebase:firebase-analytics:16.0.0 > com.google.firebase:firebase-analytics-impl:16.0.0 > com.google.firebase:firebase-iid:16.0.0 > com.google.firebase:firebase-iid-interop:16.0.0
> Could not find com.google.android.gms:play-services-cast-framework:16.0.0.
  Required by:
      project :app
> Could not find com.google.firebase:firebase-messaging:16.0.0.
  Required by:
      project :app > com.onesignal:OneSignal:3.9.1
> Could not find com.google.android.gms:play-services-location:16.0.0.
  Required by:
      project :app > com.onesignal:OneSignal:3.9.1
> Could not find com.google.android.gms:play-services-base:16.0.0.
  Required by:
      project :app > com.onesignal:OneSignal:3.9.1
> Could not find com.google.android.gms:play-services-basement:16.0.0.
  Required by:
      project :app > com.google.firebase:firebase-core:16.0.0 > com.google.firebase:firebase-analytics:16.0.0
      project :app > com.google.firebase:firebase-core:16.0.0 > com.google.firebase:firebase-measurement-connector-impl:16.0.0
      project :app > com.google.firebase:firebase-invites:16.0.0 > com.google.android.gms:play-services-appinvite:16.0.0
      project :app > com.google.firebase:firebase-core:16.0.0 > com.google.firebase:firebase-analytics:16.0.0 > com.google.firebase:firebase-analytics-impl:16.0.0
      project :app > com.google.firebase:firebase-core:16.0.0 > com.google.firebase:firebase-analytics:16.0.0 > com.google.firebase:firebase-common:16.0.0
      project :app > com.google.firebase:firebase-core:16.0.0 > com.google.firebase:firebase-measurement-connector-impl:16.0.0 > com.google.firebase:firebase-measurement-connector:16.0.0
      project :app > com.google.firebase:firebase-invites:16.0.0 > com.google.android.gms:play-services-appinvite:16.0.0 > com.google.firebase:firebase-dynamic-links:16.0.0
      project :app > com.google.firebase:firebase-core:16.0.0 > com.google.firebase:firebase-analytics:16.0.0 > com.google.firebase:firebase-analytics-impl:16.0.0 > com.google.firebase:firebase-iid:16.0.0
      project :app > com.google.firebase:firebase-core:16.0.0 > com.google.firebase:firebase-analytics:16.0.0 > com.google.firebase:firebase-analytics-impl:16.0.0 > com.google.firebase:firebase-iid:16.0.0 > com.google.firebase:firebase-iid-interop:16.0.0
> Could not find com.google.android.gms:play-services-measurement-base:16.0.0.
  Required by:
      project :app > com.google.firebase:firebase-core:16.0.0 > com.google.firebase:firebase-analytics:16.0.0
      project :app > com.google.firebase:firebase-core:16.0.0 > com.google.firebase:firebase-measurement-connector-impl:16.0.0
      project :app > com.google.firebase:firebase-invites:16.0.0 > com.google.android.gms:play-services-appinvite:16.0.0
      project :app > com.google.firebase:firebase-core:16.0.0 > com.google.firebase:firebase-analytics:16.0.0 > com.google.firebase:firebase-analytics-impl:16.0.0
      project :app > com.google.firebase:firebase-invites:16.0.0 > com.google.android.gms:play-services-appinvite:16.0.0 > com.google.firebase:firebase-dynamic-links:16.0.0
> Could not find com.google.android.gms:play-services-stats:16.0.0.
  Required by:
      project :app > com.google.firebase:firebase-core:16.0.0 > com.google.firebase:firebase-analytics:16.0.0
      project :app > com.google.firebase:firebase-core:16.0.0 > com.google.firebase:firebase-analytics:16.0.0 > com.google.firebase:firebase-analytics-impl:16.0.0
      project :app > com.google.firebase:firebase-core:16.0.0 > com.google.firebase:firebase-analytics:16.0.0 > com.google.firebase:firebase-analytics-impl:16.0.0 > com.google.firebase:firebase-iid:16.0.0
> Could not find com.google.android.gms:play-services-tasks:16.0.0.
  Required by:
      project :app > com.google.firebase:firebase-invites:16.0.0 > com.google.android.gms:play-services-appinvite:16.0.0
      project :app > com.google.firebase:firebase-core:16.0.0 > com.google.firebase:firebase-analytics:16.0.0 > com.google.firebase:firebase-analytics-impl:16.0.0
      project :app > com.google.firebase:firebase-core:16.0.0 > com.google.firebase:firebase-analytics:16.0.0 > com.google.firebase:firebase-common:16.0.0
      project :app > com.google.firebase:firebase-invites:16.0.0 > com.google.android.gms:play-services-appinvite:16.0.0 > com.google.firebase:firebase-dynamic-links:16.0.0
      project :app > com.google.firebase:firebase-core:16.0.0 > com.google.firebase:firebase-analytics:16.0.0 > com.google.firebase:firebase-analytics-impl:16.0.0 > com.google.firebase:firebase-iid:16.0.0
> Could not find com.google.android.gms:play-services-ads-identifier:16.0.0.
  Required by:
      project :app > com.google.firebase:firebase-core:16.0.0 > com.google.firebase:firebase-analytics:16.0.0 > com.google.firebase:firebase-analytics-impl:16.0.0

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 36s

最佳答案

这部分错误似乎表明您正在使用的 Gradle 插件 (com.onesignal.androidsdk.onesignal-gradle-plugin) 有错误或您需要更新版本。

Could not find com.google.firebase:firebase-appindexing:16.0.0. Required by: project :app

https://maven.google.com表示该库未发布(此时)。独立地,我可以明确地告诉您,该库尚未以该版本发布。

这是插件源代码,显示了围绕我们的 v15.x.x 版本的特殊外壳(同样有错误或您需要更新的版本)。 https://github.com/OneSignal/OneSignal-Gradle-Plugin/blob/master/src/main/groovy/com/onesignal/androidsdk/GradleProjectPlugin.groovy#L293

如果您删除该插件,我认为您会看到您的应用停止尝试查找未发布的 16.0.0 库。

关于android - 最高的 firebase 版本代码也用于编译播放服务库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50512955/

相关文章:

java - 在 Android 中向 urlConnection 添加 header

java - Android Intent B 不返回到 Intent A 的下一行?

android - 无法将自定义 View 添加到 Android 操作栏,为什么?

firebase - 使用 firebase Crashlytics 进行 React Native 错误日志记录 - 如何获取 javascript 堆栈跟踪

android - 运行./gradlew assemble时发生Babel错误

gradle - 为什么某些gradle任务无法访问?

javascript - 当加载网页调整为在加载时将 url 框隐藏在 androids 上时,它叫什么

java - Android 应用程序没有互联网连接时弹出窗口

node.js - 没有身份验证的 Firebase 初始化 - firebase.auth 不是函数

android - CocoaPods 之类的 Android Studio 解决方案