当我们把google drive集成到我们产品时,改了一些gradle的配置文件
classpath “com.google.gms:google-services:$google_service_version”
google_service_version从2.1.2升级到3.0.0

compile “com.google.android.gms:play-services-auth:$firebase_version”
firebase_version从8.2.0升级到10.2.0

我用的linux系统,其他同事也用的linux系统,别人不报错,就只有我不能打包apk,
build是没有问题的,但是安装apk时,老是报这个错误:

Error:Execution failed for task ':app:compileComDebugJavaWithJavac'.> java.lang.IncompatibleClassChangeError: Class com.google.common.collect.RegularImmutableSortedMap does not implement the requested interface java.util.NavigableMap

错误信息是很详细的,就是包冲突,但是不知道怎么解决,搞了一天半,也没有个结果,期间,我用google搜索过这个问题,答案很少,没有有效的解决办法。
最后还是通过把android studio 从2.3 升级到 2.4 preview 3, 同时修改project的build.gradle

buildscript {    repositories {        jcenter()    }    dependencies {        classpath 'com.android.tools.build:gradle:2.4.0-alpha3'    }}

从2.3升级到2.4.0-alpha3,这样就暂时解决问题了,但是一直没有找到原因,不太踏实,IncompatibleClassChangeError 如果再次出现,将又是一场灾难。

更详细的错误信息可以通过在工程的主目录,命令行打包得到,
./gradlew assembleComRelease 或者 ./gradlew assembleComDebug

* Exception is:org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':app:compileComReleaseJavaWithJavac'.        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:84)        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:55)        at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:62)        at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:58)        at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:88)        at org.gradle.api.internal.tasks.execution.ResolveTaskArtifactStateTaskExecuter.execute(ResolveTaskArtifactStateTaskExecuter.java:46)        at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:51)        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.execute(DefaultTaskGraphExecuter.java:236)        at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker$1.execute(DefaultTaskGraphExecuter.java:228)        at org.gradle.internal.Transformers$4.transform(Transformers.java:169)        at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:106)        at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:61)        at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:228)        at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:215)        at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.processTask(AbstractTaskPlanExecutor.java:77)        at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.run(AbstractTaskPlanExecutor.java:58)        at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor.process(DefaultTaskPlanExecutor.java:32)        at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter.execute(DefaultTaskGraphExecuter.java:113)        at org.gradle.execution.SelectedTaskExecutionAction.execute(SelectedTaskExecutionAction.java:37)        at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:37)        at org.gradle.execution.DefaultBuildExecuter.access$000(DefaultBuildExecuter.java:23)        at org.gradle.execution.DefaultBuildExecuter$1.proceed(DefaultBuildExecuter.java:43)        at org.gradle.execution.DryRunBuildExecutionAction.execute(DryRunBuildExecutionAction.java:32)        at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:37)        at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:30)        at org.gradle.initialization.DefaultGradleLauncher$RunTasksAction.execute(DefaultGradleLauncher.java:256)        at org.gradle.initialization.DefaultGradleLauncher$RunTasksAction.execute(DefaultGradleLauncher.java:253)        at org.gradle.internal.Transformers$4.transform(Transformers.java:169)        at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:106)        at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:56)        at org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:175)        at org.gradle.initialization.DefaultGradleLauncher.doBuild(DefaultGradleLauncher.java:119)        at org.gradle.initialization.DefaultGradleLauncher.run(DefaultGradleLauncher.java:102)        at org.gradle.launcher.exec.GradleBuildController.run(GradleBuildController.java:71)        at org.gradle.tooling.internal.provider.ExecuteBuildActionRunner.run(ExecuteBuildActionRunner.java:28)        at org.gradle.launcher.exec.ChainingBuildActionRunner.run(ChainingBuildActionRunner.java:35)        at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:41)        at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:26)        at org.gradle.tooling.internal.provider.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:75)        at org.gradle.tooling.internal.provider.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:49)        at org.gradle.tooling.internal.provider.ServicesSetupBuildActionExecuter.execute(ServicesSetupBuildActionExecuter.java:49)        at org.gradle.tooling.internal.provider.ServicesSetupBuildActionExecuter.execute(ServicesSetupBuildActionExecuter.java:31)        at org.gradle.launcher.daemon.server.exec.ExecuteBuild.doBuild(ExecuteBuild.java:67)        at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36)        at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)        at org.gradle.launcher.daemon.server.exec.WatchForDisconnection.execute(WatchForDisconnection.java:47)        at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)        at org.gradle.launcher.daemon.server.exec.ResetDeprecationLogger.execute(ResetDeprecationLogger.java:26)        at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)        at org.gradle.launcher.daemon.server.exec.RequestStopIfSingleUsedDaemon.execute(RequestStopIfSingleUsedDaemon.java:34)        at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)        at org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.call(ForwardClientInput.java:74)        at org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.call(ForwardClientInput.java:72)        at org.gradle.util.Swapper.swap(Swapper.java:38)        at org.gradle.launcher.daemon.server.exec.ForwardClientInput.execute(ForwardClientInput.java:72)        at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)        at org.gradle.launcher.daemon.server.exec.LogAndCheckHealth.execute(LogAndCheckHealth.java:55)        at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)        at org.gradle.launcher.daemon.server.exec.LogToClient.doBuild(LogToClient.java:60)        at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36)        at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)        at org.gradle.launcher.daemon.server.exec.EstablishBuildEnvironment.doBuild(EstablishBuildEnvironment.java:72)        at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36)        at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)        at org.gradle.launcher.daemon.server.exec.StartBuildOrRespondWithBusy$1.run(StartBuildOrRespondWithBusy.java:50)        at org.gradle.launcher.daemon.server.DaemonStateCoordinator$1.run(DaemonStateCoordinator.java:297)        at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63)        at org.gradle.internal.concurrent.StoppableExecutorImpl$1.run(StoppableExecutorImpl.java:46)Caused by: java.lang.RuntimeException: java.lang.IncompatibleClassChangeError: Class com.google.common.collect.RegularImmutableSortedMap does not implement the requested interface java.util.NavigableMap        at com.sun.tools.javac.main.Main.compile(Main.java:553)        at com.sun.tools.javac.api.JavacTaskImpl.doCall(JavacTaskImpl.java:129)        at com.sun.tools.javac.api.JavacTaskImpl.call(JavacTaskImpl.java:138)        at org.gradle.api.internal.tasks.compile.JdkJavaCompiler.execute(JdkJavaCompiler.java:46)        at org.gradle.api.internal.tasks.compile.JdkJavaCompiler.execute(JdkJavaCompiler.java:33)        at org.gradle.api.internal.tasks.compile.NormalizingJavaCompiler.delegateAndHandleErrors(NormalizingJavaCompiler.java:99)        at org.gradle.api.internal.tasks.compile.NormalizingJavaCompiler.execute(NormalizingJavaCompiler.java:52)        at org.gradle.api.internal.tasks.compile.NormalizingJavaCompiler.execute(NormalizingJavaCompiler.java:37)        at org.gradle.api.internal.tasks.compile.CleaningJavaCompilerSupport.execute(CleaningJavaCompilerSupport.java:35)        at org.gradle.api.internal.tasks.compile.CleaningJavaCompilerSupport.execute(CleaningJavaCompilerSupport.java:25)        at org.gradle.api.tasks.compile.JavaCompile.performCompilation(JavaCompile.java:209)        at org.gradle.api.tasks.compile.JavaCompile.compile(JavaCompile.java:190)        at org.gradle.api.tasks.compile.JavaCompile.compile(JavaCompile.java:135)        at com.android.build.gradle.tasks.factory.AndroidJavaCompile.compile(AndroidJavaCompile.java:49)        at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:73)        at org.gradle.api.internal.project.taskfactory.DefaultTaskClassInfoStore$IncrementalTaskAction.doExecute(DefaultTaskClassInfoStore.java:163)        at org.gradle.api.internal.project.taskfactory.DefaultTaskClassInfoStore$StandardTaskAction.execute(DefaultTaskClassInfoStore.java:134)        at org.gradle.api.internal.project.taskfactory.DefaultTaskClassInfoStore$StandardTaskAction.execute(DefaultTaskClassInfoStore.java:123)        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:95)        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:76)        ... 70 moreCaused by: java.lang.IncompatibleClassChangeError: Class com.google.common.collect.RegularImmutableSortedMap does not implement the requested interface java.util.NavigableMap        at com.google.googlejavaformat.java.JavaInputAstVisitor.hasJavaDoc(JavaInputAstVisitor.java:3282)        at com.google.googlejavaformat.java.JavaInputAstVisitor.addBodyDeclarations(JavaInputAstVisitor.java:3254)        at com.google.googlejavaformat.java.JavaInputAstVisitor.visit(JavaInputAstVisitor.java:1908)        at org.eclipse.jdt.core.dom.TypeDeclaration.accept0(TypeDeclaration.java:453)        at org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:2711)        at com.google.googlejavaformat.java.JavaInputAstVisitor.visit(JavaInputAstVisitor.java:392)        at com.google.googlejavaformat.java.Formatter.format(Formatter.java:125)        at com.google.googlejavaformat.java.Formatter.formatSource(Formatter.java:157)        at com.google.googlejavaformat.java.Formatter.formatSource(Formatter.java:144)        at dagger.internal.codegen.SourceFileGenerator.generate(SourceFileGenerator.java:77)        at dagger.internal.codegen.ModuleProcessingStep.generateFactory(ModuleProcessingStep.java:205)        at dagger.internal.codegen.ModuleProcessingStep.process(ModuleProcessingStep.java:163)        at dagger.shaded.auto.common.BasicAnnotationProcessor.process(BasicAnnotationProcessor.java:318)        at dagger.shaded.auto.common.BasicAnnotationProcessor.process(BasicAnnotationProcessor.java:171)        at com.sun.tools.javac.processing.JavacProcessingEnvironment.callProcessor(JavacProcessingEnvironment.java:794)        at com.sun.tools.javac.processing.JavacProcessingEnvironment.discoverAndRunProcs(JavacProcessingEnvironment.java:705)        at com.sun.tools.javac.processing.JavacProcessingEnvironment.access$1800(JavacProcessingEnvironment.java:91)        at com.sun.tools.javac.processing.JavacProcessingEnvironment$Round.run(JavacProcessingEnvironment.java:1035)        at com.sun.tools.javac.processing.JavacProcessingEnvironment.doProcessing(JavacProcessingEnvironment.java:1176)        at com.sun.tools.javac.main.JavaCompiler.processAnnotations(JavaCompiler.java:1170)        at com.sun.tools.javac.main.JavaCompiler.compile(JavaCompiler.java:856)        at com.sun.tools.javac.main.Main.compile(Main.java:523)

更多相关文章

  1. android 调用系统的图片选择
  2. ffmpeg3.3 编译 android 系统版本 32位 和64 位 动态库
  3. Android property系统分析
  4. Android判断网络是否可用,调用系统网络设置
  5. 非常不错的资金管理系统android版客户端源码
  6. PHP如何检测手机是什么系统?
  7. 调用android系统自带的功能

随机推荐

  1. 王家林的81门一站式云计算分布式大数据&
  2. Android串口Serial服务解析
  3. Android技术专家 高焕堂 推荐这本书
  4. Android音乐播放器系列讲解之一
  5. Android的ps命令介绍和技巧
  6. Android:关于声明文件中android:process
  7. Android 6.0权限机制
  8. Android五大布局详解
  9. Android录屏命令、Android录Gif、Android
  10. 为什么说Android令人沮丧