firebase / firebase-android-sdk

Firebase Android SDK
https://firebase.google.com
Apache License 2.0
2.27k stars 575 forks source link

firebase-crashlytics-gradle:2.9.9 not working #5618

Closed thsamajiki closed 9 months ago

thsamajiki commented 9 months ago

[READ] Step 1: Are you in the right place?

Yes

[REQUIRED] Step 2: Describe your environment

[REQUIRED] Step 3: Describe the problem

Steps to reproduce:

Build succeeds, but fails to execute the app.

Caused by: org.gradle.api.internal.artifacts.ivyservice.DefaultLenientConfiguration$ArtifactResolveException: Could not resolve all files for configuration ':app:debugCompileClasspath'.

Caused by: org.gradle.internal.resolve.ModuleVersionNotFoundException: Could not find com.google.firebase.crashlytics:2.9.9:.

My current workaround is to downgrade to as far back as 2.9.5 due to separate bugs in previous versions, but it still fails to execute the app.

Relevant Code:

plugins { id("com.google.devtools.ksp") version "1.9.20-1.0.14" apply false }

tasks.register("clean", Delete::class) { delete(rootProject.buildDir) }


* build.gradle.kts (:buildSrc)

plugins { kotlin-dsl // kotlin dsl 설정 }

repositories { gradlePluginPortal() google() mavenCentral() }

object PluginVersion { const val GRADLE = "8.0.2" const val KOTLIN = "1.8.20" const val GMS = "4.4.0" const val FIREBASE_CRASHLYTICS = "2.9.9" }

dependencies { implementation("com.android.tools.build:gradle:${PluginVersion.GRADLE}") implementation("org.jetbrains.kotlin:kotlin-gradle-plugin:${PluginVersion.KOTLIN}") implementation("com.google.gms:google-services:${PluginVersion.GMS}") implementation("com.google.firebase:firebase-crashlytics-gradle:${PluginVersion.FIREBASE_CRASHLYTICS}") }


* build.gradle.kts (:app)

plugins { id("com.android.application") kotlin("android") id("kotlin-parcelize") id("com.google.gms.google-services") id("com.google.firebase.crashlytics") kotlin("kapt") }

android { namespace = "com.example.projectname" compileSdk = AppConfig.compileSdk

defaultConfig {
    applicationId = "com.example.projectname"
    minSdk = AppConfig.minSdk
    targetSdk = AppConfig.targetSdk
    versionCode = AppConfig.versionCode
    versionName = AppConfig.versionName

    testInstrumentationRunner = Dependency.Test.ANDROID_JUNIT_RUNNER
    vectorDrawables.useSupportLibrary = true
}

buildTypes {
    getByName("debug") {
        isMinifyEnabled = false
        isDebuggable = true
        manifestPlaceholders["enableCrashlytics"] = "false"
        extra.set("alwaysUpdateBuildId", false)
    }

    getByName("release") {
        isMinifyEnabled = true
        isDebuggable = false
        manifestPlaceholders["enableCrashlytics"] = "true"
        proguardFiles(getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro")
    }
}
compileOptions {
    sourceCompatibility = JavaVersion.VERSION_17
    targetCompatibility = JavaVersion.VERSION_17
}
kotlinOptions {
    jvmTarget = "17"
}
buildFeatures {
    viewBinding = true
    dataBinding = true
}

}

dependencies { implementation(Dependency.Jetpack.androidx_core) implementation(Dependency.Jetpack.appCompat) implementation(Dependency.Libraries.material) implementation(Dependency.Jetpack.constraintLayout) implementation(Dependency.Jetpack.activity) implementation(Dependency.Jetpack.fragment)

implementation(platform(Dependency.Firebase.firebase_bom))
implementation(Dependency.Firebase.firebase_fireStore)
implementation(Dependency.Firebase.firebase_analytics)
implementation(Dependency.Firebase.firebase_auth)
implementation(Dependency.Firebase.firebase_storage)
implementation(Dependency.Firebase.firebase_messaging)
implementation(Dependency.Firebase.firebase_crashlytics)
implementation(Dependency.Firebase.firebase_ui_storage)

}

kapt { correctErrorTypes = true }


* Dependency.kt

object Dependency {

object Versions {
    const val kotlin = "1.9.10"
    const val agp = "8.0.2"
    const val jvmTarget = "17"

    const val firebase_bom = "32.1.0"
    const val firebase_ui_storage = "8.0.2"
    const val firebase_crashlytics = "2.9.9"

    const val kotlinStdlib = "1.8.10"
}

object Kotlin {
    const val SDK = "org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.5.21"
    const val agp = "com.android.tools.build:gradle:${Versions.agp}"
    const val kotlin_gradlePlugin = "org.jetbrains.kotlin:kotlin-gradle-plugin:${Versions.kotlin}"
}

object Jetpack {
    const val appCompat = "androidx.appcompat:appcompat:${Versions.appcompat}"
    const val constraintLayout = "androidx.constraintlayout:constraintlayout:${Versions.constraintLayout}"
    const val recyclerView = "androidx.recyclerview:recyclerview:${Versions.recyclerview}"

    const val activity = "androidx.activity:activity-ktx:${Versions.androidxActivity}"
    const val fragment = "androidx.fragment:fragment-ktx:${Versions.androidxFragment}"
    const val androidx_core = "androidx.core:core-ktx:${Versions.androidxCore}"
}

object Firebase {
    const val firebase_bom = "com.google.firebase:firebase-bom:${Versions.firebase_bom}"
    const val firebase_ui_storage = "com.google.firebase:firebase-bom:${Versions.firebase_ui_storage}"
    const val firebase_crashlytics = "com.google.firebase.crashlytics:${Versions.firebase_crashlytics}"
    const val firebase_fireStore = "com.google.firebase:firebase-firestore-ktx"
    const val firebase_analytics = "com.google.firebase:firebase-analytics-ktx"
    const val firebase_auth = "com.google.firebase:firebase-auth-ktx"
    const val firebase_storage = "com.google.firebase:firebase-storage-ktx"
    const val firebase_messaging = "com.google.firebase:firebase-messaging-ktx"
}

}


* setting.gradle.kts (ProjectName)

pluginManagement { repositories { gradlePluginPortal() google() mavenCentral() } } dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories { google() mavenCentral() } } rootProject.name = "ProjectName" include(":app")

thsamajiki commented 9 months ago

Solved by modifying crashlytics dependency name and erasing version.