1. 程式人生 > >android build successful, run failed.

android build successful, run failed.

昨天在將專案依賴由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了,導致檔案解析失敗。