编写Android应用程序。我在模拟器上运行时没有错误。但是当我尝试将其构建为apk文件以在设备上进行测试时,我收到以下错误。
com.intellij.openapi.project.IndexNotReadyException: Please change caller according to com.intellij.openapi.project.IndexNotReadyException documentation
at com.intellij.util.indexing.FileBasedIndexImpl.handleDumbMode(FileBasedIndexImpl.java:853)
at com.intellij.util.indexing.FileBasedIndexImpl.ensureUpToDate(FileBasedIndexImpl.java:802)
at com.intellij.util.indexing.FileBasedIndexImpl.ensureUpToDate(FileBasedIndexImpl.java:786)
at com.intellij.psi.stubs.StubIndexImpl.processElements(StubIndexImpl.java:250)
at com.intellij.psi.stubs.StubIndexImpl.processElements(StubIndexImpl.java:238).......
我在这里看到了一个类似的案例提到"等到索引编制完成。"但我不知道我在做什么甚至干扰任何索引。
在不同的计算机上试过。同样的问题。在我收到此错误之前,我唯一做的就是在Gradle(app)中为RingButton添加依赖项,并将RingButton类添加到项目中以将其修改为我想要的。 正如我所说它在模拟器中工作正常。
只是为了测试是否确实存在这种情况,我删除了类并删除了依赖项,但问题仍未解决。
答案 0 :(得分:4)
我认为这可以通过创建一个新项目并将文件移动到新项目中来解决。也许索引是腐败的。但在此之前你可以清除缓存吗?在android studio中,如果你准备丢失一些本地历史,那么试试这个:
然后选择invalidate并重新启动:
答案 1 :(得分:0)
我一直在使用Dropbox不断备份我的项目。所以我会点击我的项目并发送到Dropbox。我也立即点击运行同时在我的模拟器上运行应用程序。在此期间,当我将鼠标悬停在我的Dropbox图标上时,表明它是"索引"。
基于之前的回答"等到索引完成",我只能假设这个Dropbox索引以某种方式受到干扰。
不完全优雅,但我将此项目中的每个文件复制到一个新项目中,现在一切正常,能够安装apk文件。我没有做任何改变,所以我相信旧项目中存在某种形式的腐败。