【问题标题】:tried to access method com.google.common.io.Files.fileTreeTraverser() from class com.android.utils.FileUtils试图从类 com.android.utils.FileUtils 访问方法 com.google.common.io.Files.fileTreeTraverser()
【发布时间】:2019-07-27 12:50:57
【问题描述】:

在 androidx 中合并支持库后出现以下错误。

Caused by: java.lang.IllegalAccessError: tried to access method com.google.common.io.Files.fileTreeTraverser()Lcom/google/common/collect/TreeTraverser; from class com.android.utils.FileUtils
    at com.android.utils.FileUtils.getAllFiles(FileUtils.java:394)
    at com.android.build.gradle.internal.transforms.StripDebugSymbolTransform.transform(StripDebugSymbolTransform.java:188)
    at com.android.build.gradle.internal.pipeline.TransformTask$2.call(TransformTask.java:239)
    at com.android.build.gradle.internal.pipeline.TransformTask$2.call(TransformTask.java:235)
    at com.android.builder.profile.ThreadRecorder.record(ThreadRecorder.java:102)
    at com.android.build.gradle.internal.pipeline.TransformTask.transform(TransformTask.java:230)
    at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:73)
    at org.gradle.api.internal.project.taskfactory.IncrementalTaskAction.doExecute(IncrementalTaskAction.java:50)
    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.tasks.execution.ExecuteActionsTaskExecuter$1.run(ExecuteActionsTaskExecuter.java:131)
    at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:300)
    at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:292)
    at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:174)
    at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:90)
    at org.gradle.internal.operations.DelegatingBuildOperationExecutor.run(DelegatingBuildOperationExecutor.java:31)
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:120)
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:99)
    ... 31 more

这个问题是在androidx合并后出现的。看起来问题似乎在于从类 FileUtils 访问方法 Files.fileTreeTraverser()。

请知道为什么它会出现以及如何解决它?

【问题讨论】:

  • Gradle 工具插件的问题,我更新了 gradle 工具插件(3.4.2) 和 android studio 3.4 最新版本。问题已解决。

标签: android


【解决方案1】:

我通过更新解决了问题

  • gradle 构建工具版本

    classpath 'com.android.tools.build:gradle:3.4.2'

  • gradle 包装器属性文件

    distributionUrl=https\://services.gradle.org/distributions/gradle-5.1.1-all.zip

  • Kotlin 版本到 1.3.10 或更高版本

    classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.3.10"

【讨论】:

  • @PhillipMwaniki 你的 android studio 版本是多少?你用的是3.4或以上的版本吗?
  • @SushilSolanki Android 3.5.2
  • @PhillipMwaniki 尝试上述所有更改并清理缓存
猜你喜欢
  • 2022-12-21
  • 2011-10-27
  • 1970-01-01
  • 2016-05-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-12-22
  • 2015-07-09
相关资源
最近更新 更多