android build successful, run failed.
阿新 • • 發佈:2019-02-06
昨天在將專案依賴由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了,導致檔案解析失敗。