FindBugs IDEA-ClassNotFoundException com.google.wireless.android.sdk.stats.IntellijIndexingStats

时间:2019-04-25 07:34:12

标签: android findbugs

FindBugs IDEA v1.0.1 Android Studio 3.4

运行FindBugs时出现此错误。 我不在应用程序中的任何地方使用com.google.wireless.android.sdk。

Error:Internal error: (java.lang.ClassNotFoundException) com.google.wireless.android.sdk.stats.IntellijIndexingStats$Index
java.lang.ClassNotFoundException: com.google.wireless.android.sdk.stats.IntellijIndexingStats$Index
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    at com.intellij.util.indexing.counters.IndexCounters.<clinit>(IndexCounters.java:34)
    at com.intellij.util.indexing.impl.MapReduceIndex.<init>(MapReduceIndex.java:86)
    at org.jetbrains.jps.backwardRefs.index.CompilerReferenceIndex$CompilerMapReduceIndex.<init>(CompilerReferenceIndex.java:214)
    at org.jetbrains.jps.backwardRefs.index.CompilerReferenceIndex.<init>(CompilerReferenceIndex.java:73)
    at org.jetbrains.jps.backwardRefs.JavaCompilerBackwardReferenceIndex.<init>(JavaCompilerBackwardReferenceIndex.java:12)
    at org.jetbrains.jps.backwardRefs.JavaBackwardReferenceIndexWriter.initialize(JavaBackwardReferenceIndexWriter.java:74)
    at org.jetbrains.jps.backwardRefs.JavaBackwardReferenceIndexBuilder.buildStarted(JavaBackwardReferenceIndexBuilder.java:40)
    at org.jetbrains.jps.incremental.IncProjectBuilder.runBuild(IncProjectBuilder.java:358)
    at org.jetbrains.jps.incremental.IncProjectBuilder.build(IncProjectBuilder.java:178)
    at org.jetbrains.jps.cmdline.BuildRunner.runBuild(BuildRunner.java:138)
    at org.jetbrains.jps.cmdline.BuildSession.runBuild(BuildSession.java:302)
    at org.jetbrains.jps.cmdline.BuildSession.run(BuildSession.java:135)
    at org.jetbrains.jps.cmdline.BuildMain$MyMessageHandler.lambda$channelRead0$0(BuildMain.java:229)
    at org.jetbrains.jps.service.impl.SharedThreadPoolImpl.lambda$executeOnPooledThread$0(SharedThreadPoolImpl.java:42)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)

9 个答案:

答案 0 :(得分:4)

我认为这可能是答案。

SpotBugs是FindBugs的精神继任者,从它在社区的支持下中断的地方继续发展。

The FindBugs Plugin

  

由于未维护FindBugs,并且不支持为Java 9及更高版本编译的字节码,因此已弃用FindBugs插件,并计划在Gradle 6.0中将其删除。请考虑改用SpotBugs plugin

You should have at least 512 MB of memory使用SpotBug。要分析非常大的项目,可能需要更多的内存。

非常重要的问题Unable to use Spotbugs in Android application

答案 1 :(得分:2)

对于什么值,我通过导入以IntelliJ Pro开始并导入Android Studio的项目来得到此确切的错误-删除项目根目录下的.idea目录,并在清除Android Studio的情况下重新导入该项目它。

答案 2 :(得分:0)

此解决方案基于您对Flutter和Android都使用Android Studio的假设。每次我关闭Flutter项目并打开Android项目时,都需要配置android SDK,否则会出现此错误:

Error:Internal error: (java.lang.ClassNotFoundException) 
com.google.wireless.android.sdk.stats.IntellijIndexingStats$Index

只需转到LogCat,然后单击“请配置Android SDK”,然后从下拉列表中选择最新的构建工具版本28.0.3(或您的最新构建版本)。

答案 3 :(得分:0)

打开FindBugs设置,单击“常规”,然后关闭“分析之前编译受影响的文件”。它适用于Android Studio 3.5

答案 4 :(得分:0)

我在使用JDK 1.8时遇到了类似的错误。该错误是由于缺少密钥库文件引起的。尝试使用JDK 12中的密钥工具生成新的密钥库。这对我有用。

还可能需要根据您的gradle版本添加一些依赖项和Maven存储库 AndroidAnnotations版本:

4.3.1

Android编译SDK版本:

25

答案 5 :(得分:0)

这为我消除了错误:

文件/设置/构建,执行,部署/编译器

取消选中:自动创建项目

答案 6 :(得分:0)

我在未运行FindBugs的Android Studio中遇到此错误。

我最初看到an IntelliJ post的建议是我在IntelliJ注册表中禁用了基于编译器的索引以停止该错误:

  

作为例外的解决方法,您可以在注册表中设置compiler.ref.index = false(ctrl + alt-shift + /或通过“按名称查找操作”操作)

但是,我不想因丢失基于编译器的索引而感到沮丧,在执行Invalidate Caches / Restart...之后,我看到了以下消息:

Internal caches are corrupted or have outdated format, forcing project rebuild

该消息将我引到pdinklag's answermodified slightly for Android Studio

我关闭了Android Studio,然后运行:

rm -rf ~/.android
rm -rf <PROJECT_ROOT>/.idea

然后重新启动Android Studio,一切正常。

答案 7 :(得分:0)

似乎FindBugs无法在分析之前编译文件。

在Android Studio中,转到FindBugs设置(位于“文件”>“设置”>“其他设置”下),然后取消选中“在分析之前编译受影响的文件”。

执行此操作时,您需要自己编译文件(例如,通过构建和运行应用程序),或者FindBugs分析使用旧文件数据(来自以前的构建)。

答案 8 :(得分:0)

要在Android Studio中解决此问题,请访问:

文件
->设置
  ->构建,执行,部署
    -> Java编译器选项

javac更改为eclipse,然后应用。