使用的是AS 3.4.2,之前搞一个项目工程的时候,每次修改就Run一下,也用了Instant Run功能(AS的File-Settings-Build,Execution,Deployment-Instant Run全部打钩)。之前都是正常可以修改后编译运行的。
突然昨天运行报错(实机测试直接跳出),Java的NPE错误,看了下方的运行错误提示,报了1288行有错误。确实对象为空,嗯,修改下,然后把这句注释掉了。
Run一下,发现点这个东西还是跳出报错,一看,还是1288行。但是这一行已经被我注释掉了啊。你报错也得报个上边下边的吧?我又在可能出错的地方,写了个Log,看看能运行到这个不,结果不显示Log,报错1288行。
气的我把整个函数都注释掉了(其他地方没有用到这个函数),不要这个功能了行了吧。Run一下,还是报错1288行。我擦嘞,这前后十几行被我注释掉了,你告诉这运行有错??(这其中试过了Clean,Rebuild,关闭重新进等等方法,十几次都是这一行有错,这都是注释,没代码,我这怎么改)
然后觉得,可能是AS的bug问题。上网看了下,嗯,大概就是Rebuild,清除缓存(File-Invalidate Caches/Restart),关闭Instant Run功能。不过我都试了下,不适合我这种情况,还是报错1288行(我记着你了!)
我在别的盘还有个备份,注释掉这1288行所在的函数,就不报错(什么都不显示,就是最好的结果),好的,这蜜汁bug,看来是AS的问题了。
最后解决办法
删除 项目文件夹下的.gradle , .idea文件 ,build也可以删除,不过我这个项目没有。然后重新用AS加载项目,让Project彻底重新编译下。问题解决,我又打开 Instant Run 也能正常改代码(这东西实机测试快一点)。
总结:
AS 的bug还是迷,有时候Rebuild都没办法的时候,又确定自己的代码没问题(注释掉的东西,怎么会报错嘛),重新加载项目,可以尝试下。
在studio中下面工具栏(平时看log的地方)里找build,然后在左边找toggle view(绿色锤子下面有个方块,里面有个小箭头),点击选中后,再编译就会展示详细的错误信息。
参考:https://blog.youkuaiyun.com/liujie33852964/article/details/80590554
本文记录了一次使用AS(Android Studio)开发过程中遇到的诡异编译错误经历,通过注释代码、清理缓存、重建项目等手段最终定位并解决了问题。分享了具体的解决步骤及心得,对于遇到类似问题的开发者具有一定的参考价值。
380

被折叠的 条评论
为什么被折叠?



