question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Android Gradle 3.1.0 IncompatibleClassChangeError

See original GitHub issue

Using Timber 4.6.1 with Android Gradle Plugin com.android.tools.build:gradle:3.1.0 lint fails with a IncompatibleClassChangeError.

In the meantime, I’ve added a rule to disable the error. Not ideal but it lets the CI pass builds for now.

lintOptions {
        disable "LintError"
}
java.lang.IncompatibleClassChangeError: Expected static method timber.lint.WrongTimberUsageDetector.fix()Lcom/android/tools/lint/detector/api/LintFix$Builder;
        at timber.lint.WrongTimberUsageDetector.quickFixIssueBinary(WrongTimberUsageDetector.java:671)
        at timber.lint.WrongTimberUsageDetector.checkElement(WrongTimberUsageDetector.java:558)
        at timber.lint.WrongTimberUsageDetector.checkMethodArguments(WrongTimberUsageDetector.java:493)
        at timber.lint.WrongTimberUsageDetector.visitMethod(WrongTimberUsageDetector.java:90)
        at com.android.tools.lint.client.api.UElementVisitor$DelegatingPsiVisitor.visitMethodCallExpression(UElementVisitor.kt:1027)
        at com.android.tools.lint.client.api.UElementVisitor$DelegatingPsiVisitor.visitCallExpression(UElementVisitor.kt:1007)
        at org.jetbrains.uast.UCallExpression$DefaultImpls.accept(UCallExpression.kt:99)
        at org.jetbrains.uast.java.JavaUCallExpression.accept(javaUCallExpressions.kt:24)
        at org.jetbrains.uast.UQualifiedReferenceExpression$DefaultImpls.accept(UQualifiedReferenceExpression.kt:48)
        at org.jetbrains.uast.java.JavaUCompositeQualifiedExpression.accept(JavaUCompositeQualifiedExpression.kt:22)
        at org.jetbrains.uast.ULambdaExpression$DefaultImpls.accept(ULambdaExpression.kt:47)
        at org.jetbrains.uast.java.JavaULambdaExpression.accept(JavaULambdaExpression.kt:26)
        at org.jetbrains.uast.internal.ImplementationUtilsKt.acceptList(implementationUtils.kt:23)
        at org.jetbrains.uast.UCallExpression$DefaultImpls.accept(UCallExpression.kt:103)
        at org.jetbrains.uast.java.JavaUCallExpression.accept(javaUCallExpressions.kt:24)
        at org.jetbrains.uast.UQualifiedReferenceExpression$DefaultImpls.accept(UQualifiedReferenceExpression.kt:48)
        at org.jetbrains.uast.java.JavaUCompositeQualifiedExpression.accept(JavaUCompositeQualifiedExpression.kt:22)
        at org.jetbrains.uast.internal.ImplementationUtilsKt.acceptList(implementationUtils.kt:23)
        at org.jetbrains.uast.UBlockExpression$DefaultImpls.accept(UBlockExpression.kt:35)
        at org.jetbrains.uast.java.JavaUCodeBlockExpression.accept(JavaUCodeBlockExpression.kt:22)
        at org.jetbrains.uast.UMethod$DefaultImpls.accept(UMethod.kt:53)
        at org.jetbrains.uast.java.JavaUMethod.accept(JavaUMethod.kt:25)
        at org.jetbrains.uast.internal.ImplementationUtilsKt.acceptList(implementationUtils.kt:23)
        at org.jetbrains.uast.UClass$DefaultImpls.accept(UClass.kt:63)
        at org.jetbrains.uast.java.AbstractJavaUClass.accept(JavaUClass.kt:26)
        at org.jetbrains.uast.internal.ImplementationUtilsKt.acceptList(implementationUtils.kt:23)
        at org.jetbrains.uast.UFile$DefaultImpls.accept(UFile.kt:91)
        at org.jetbrains.uast.java.JavaUFile.accept(JavaUFile.kt:24)
        at com.android.tools.lint.client.api.UElementVisitor$visitFile$3.run(UElementVisitor.kt:258)
        at com.android.tools.lint.client.api.LintClient.runReadAction(LintClient.kt:1439)
        at com.android.tools.lint.client.api.LintDriver$LintClientWrapper.runReadAction(LintDriver.kt:1900)
        at com.android.tools.lint.client.api.UElementVisitor.visitFile(UElementVisitor.kt:255)
        at com.android.tools.lint.client.api.LintDriver$visitJavaFiles$1.run(LintDriver.kt:1476)
        at com.android.tools.lint.client.api.LintClient.runReadAction(LintClient.kt:1439)
        at com.android.tools.lint.client.api.LintDriver$LintClientWrapper.runReadAction(LintDriver.kt:1900)
        at com.android.tools.lint.client.api.LintDriver.visitJavaFiles(LintDriver.kt:1476)
        at com.android.tools.lint.client.api.LintDriver.visitJavaFiles(LintDriver.kt:1445)
        at com.android.tools.lint.client.api.LintDriver.checkJava(LintDriver.kt:1423)
        at com.android.tools.lint.client.api.LintDriver.runFileDetectors(LintDriver.kt:962)
        at com.android.tools.lint.client.api.LintDriver.checkProject(LintDriver.kt:812)
        at com.android.tools.lint.client.api.LintDriver.analyze(LintDriver.kt:345)
        at com.android.tools.lint.LintCliClient.run(LintCliClient.java:179)
        at com.android.tools.lint.gradle.LintGradleClient.run(LintGradleClient.java:254)
        at com.android.tools.lint.gradle.LintGradleExecution.runLint(LintGradleExecution.java:257)
        at com.android.tools.lint.gradle.LintGradleExecution.lintSingleVariant(LintGradleExecution.java:359)
        at com.android.tools.lint.gradle.LintGradleExecution.analyze(LintGradleExecution.java:93)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at com.android.tools.lint.gradle.api.ReflectiveLintRunner.runLint(ReflectiveLintRunner.kt:38)
        at com.android.build.gradle.tasks.LintBaseTask.runLint(LintBaseTask.java:87)
        at com.android.build.gradle.tasks.LintPerVariantTask.lint(LintPerVariantTask.java:41)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:73)
        at org.gradle.api.internal.project.taskfactory.StandardTaskAction.doExecute(StandardTaskAction.java:46)
        at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:39)
        at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:26)
        at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:788)
        at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:755)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$1.run(ExecuteActionsTaskExecuter.java:124)
        at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:336)
        at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:328)
        at org.gradle.internal.progress.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:199)
        at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:110)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:113)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:95)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:73)
        at org.gradle.api.internal.tasks.execution.OutputDirectoryCreatingTaskExecuter.execute(OutputDirectoryCreatingTaskExecuter.java:51)
        at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:59)
        at org.gradle.api.internal.tasks.execution.ResolveTaskOutputCachingStateExecuter.execute(ResolveTaskOutputCachingStateExecuter.java:54)
        at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:59)
        at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:101)
        at org.gradle.api.internal.tasks.execution.FinalizeInputFilePropertiesTaskExecuter.execute(FinalizeInputFilePropertiesTaskExecuter.java:44)
        at org.gradle.api.internal.tasks.execution.CleanupStaleOutputsExecuter.execute(CleanupStaleOutputsExecuter.java:91)
        at org.gradle.api.internal.tasks.execution.ResolveTaskArtifactStateTaskExecuter.execute(ResolveTaskArtifactStateTaskExecuter.java:62)
        at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:59)
        at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:54)
        at org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:43)
        at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:34)
        at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker$1.run(DefaultTaskGraphExecuter.java:256)
        at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:336)
        at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:328)
        at org.gradle.internal.progress.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:199)
        at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:110)
        at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:249)
        at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:238)
        at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker.processTask(DefaultTaskPlanExecutor.java:123)
        at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker.access$200(DefaultTaskPlanExecutor.java:79)
        at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker$1.execute(DefaultTaskPlanExecutor.java:104)
        at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker$1.execute(DefaultTaskPlanExecutor.java:98)
        at org.gradle.execution.taskgraph.DefaultTaskExecutionPlan.execute(DefaultTaskExecutionPlan.java:663)
        at org.gradle.execution.taskgraph.DefaultTaskExecutionPlan.executeWithTask(DefaultTaskExecutionPlan.java:597)
        at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker.run(DefaultTaskPlanExecutor.java:98)
        at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63)
        at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55)
        at java.lang.Thread.run(Thread.java:748)

Issue Analytics

  • State:closed
  • Created 5 years ago
  • Reactions:2
  • Comments:5 (3 by maintainers)

github_iconTop GitHub Comments

1reaction
JakeWhartoncommented, Mar 27, 2018

No problem. Fix was released today as 4.7.0.

On Tue, Mar 27, 2018 at 4:49 PM mt-mitchell notifications@github.com wrote:

Awesome thanks. Not sure how I miss #292 https://github.com/JakeWharton/timber/issues/292 when checking for this. Thanks for closing this.

— You are receiving this because you modified the open/close state.

Reply to this email directly, view it on GitHub https://github.com/JakeWharton/timber/issues/308#issuecomment-376670548, or mute the thread https://github.com/notifications/unsubscribe-auth/AAEEERa1EHFlPbjcMt9P0_wv4lcseOnBks5tiqXsgaJpZM4S8W_v .

1reaction
vanniktechcommented, Mar 27, 2018

Already fixed on matter and just needs a new release. Also there has been other issues about this already.

Read more comments on GitHub >

github_iconTop Results From Across the Web

UncaughtException: java.lang.IncompatibleClassChangeError
My app was working fine, but When I updated compile 'com.google.android.gms:play-services from version 8.0 to 9.0 it gives following exception.
Read more >
java.lang.IncompatibleClassChangeError on com.android ...
When using com.android.tools.build:gradle:4.0.0 some Kotlin to Java conversions during release build fail producing the following error java.lang.
Read more >
Android Studio 2021.3.1 Closed Issues
IncompatibleClassChangeError with R8 - 3.3.28 (Android API < 25). Issue #232379893. Gradle 7.2.0 causing APK build error com.android.tools.r8.
Read more >
Found class org.jetbrains.kotlin.ir.declarations.IrClass, but ...
JVM / IR: "IncompatibleClassChangeError: Found class org.jetbrains.kotlin.ir.declarations.IrClass, but interface was expected" with Compose. Android Studio ...
Read more >
The Java Plugin - Gradle User Manual
Depends on: build , and buildNeeded tasks in all projects that are dependencies in the testRuntimeClasspath configuration. Performs a full build of the...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found