这是indexloc提供的服务,不要输入任何密码
Skip to content

Upgrading Firebase dependencies release reveals the following lint error: NoSuchMethodError:IncompatibleIidVersionDetector.beforeCheckEachProject #1407

@ahinchman1

Description

@ahinchman1

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

Issues filed here should be about bugs in the code in this repository.
If you have a general question, need help debugging, or fall into some
other category use one of these other channels:

  • For general technical questions, post a question on StackOverflow
    with the firebase tag.
  • For general Firebase discussion, use the firebase-talk
    google group.
  • For help troubleshooting your application that does not fall under one
    of the above categories, reach out to the personalized
    Firebase support channel.

[REQUIRED] Step 2: Describe your environment

  • Android Studio version: 3.6.2
  • Firebase Components/Versions:
    • Firebase Services: 3.6.0
    • Firebase Core: 17.3.0
    • Firebase Message: 20.1.4
    • Firebase Crashlytics: 17.0.0-beta03

[REQUIRED] Step 3: Describe the problem

Steps to reproduce:

Updated all the firebase dependencies last night only to receive the following lint error:

Execution failed for task ':app:lintDebug'.
> Lint found errors in the project; aborting build.
  
  Fix the issues identified by lint, or add the following to your build script to proceed with errors:
  ...
  android {
      lintOptions {
          abortOnError false
      }
  }
  ...
  
  Errors found:
  
  /Users/amanda.hinchman-dominguez/Documents/repos/47deg/scaladaysandroidkotlin/app: Error: Unexpected failure during lint analysis (this is a bug in lint or one of the libraries it depends on)
  
  Message: 'com.android.builder.model.AndroidProject com.android.tools.lint.detector.api.Project.getGradleProjectModel()'
  
  The crash seems to involve the detector com.google.firebase.installations.lint.IncompatibleIidVersionDetector.
  You can try disabling it with something like this:
      android {
          lintOptions {
              disable "IncompatibleIidVersion"
          }
      }
  
  Stack: NoSuchMethodError:IncompatibleIidVersionDetector.beforeCheckEachProject(IncompatibleIidVersionDetector.kt:56)←LintDriver.checkProject(LintDriver.kt:894)←LintDriver.analyze(LintDriver.kt:422)←LintCliClient.run(LintCliClient.java:238)←LintGradleClient.run(LintGradleClient.java:261)←LintGradleExecution.runLint(LintGradleExecution.java:305)←LintGradleExecution.lintSingleVariant(LintGradleExecution.java:392)←LintGradleExecution.analyze(LintGradleExecution.java:94)

I did some digging of my own - the library jars downloaded in com.google.firebase.installations appears to be missing the package for lint let alone the class itself. Furthermore, there appears to be no such class in documentation or release notes.

However, I did spot two recent commits made in roughly the last 2 weeks involving the existence of com.google.firebase.installations.lint.IncompatibleIidVersionDetector:

Relevant Code:

Insert the following dependencies in an Android project:

dependencies {
    def firebase_version = '17.3.0'

    implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
    implementation "androidx.multidex:multidex:2.0.1"
    implementation 'androidx.core:core-ktx:1.2.0'

    implementation "com.google.firebase:firebase-core:$firebase_version"
    implementation 'com.google.firebase:firebase-messaging:20.1.4'
    implementation "com.google.firebase:firebase-analytics:$firebase_version"
    implementation 'com.google.firebase:firebase-crashlytics:17.0.0-beta03'
}

Metadata

Metadata

Assignees

Labels

type: bugSomething isn't working

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions