昨天在将项目依赖由module切换到私服上打好包的aar时,运行时惯例出现了找不到xxx文件的提示,随后clean了一下,build successful, 但发现run时还是出错,没办法只好invalidate cache大法,漫长的等待后,发现gg,竟然还是跑不起来。
报错如下:
java.lang.NoClassDefFoundError: com/sun/tools/javac/jvm/ClassWriter$StackMapTableFrame
at com.sun.tools.javac.jvm.Code.emitStackMapFrame(Code.java:1355)
at com.sun.tools.javac.jvm.Code.emitStackMap(Code.java:1257)
at com.sun.tools.javac.jvm.Code.emitop(Code.java:373)
at com.sun.tools.javac.jvm.Code.emitop0(Code.java:494)
at com.sun.tools.javac.jvm.Gen.genMethod(Gen.java:1048)
at com.sun.tools.javac.jvm.Gen.visitMethodDef(Gen.java:993)
at com.sun.tools.javac.tree.JCTree$JCMethodDecl.accept(JCTree.java:778)
at com.sun.tools.javac.jvm.Gen.genDef(Gen.java:736)
这个报错,感觉完全搜不到类似的,无从下手
还有
java.util.zip.ZipException: error in opening zip file
两个错误一起分析下感觉可能是编译到一半退出了,随后就某个文件解析失败了。
随后把.gradle文件夹中的文件删除,重新下载gradle,maven各种连不上,好不容易下载完毕,依旧报错,天啦噜。
最后,android studio中选择update,却发现自动更新到一半失败,这时候大概知道是android studio什么地方错乱了,上官网下载新版本,重新安装,这次终于成功了。
结论:还是不知道哪儿错了。不过可能是我选择invalidate cache时,两个项目同时在操作,我没等都完成,就run了,导致文件解析失败。