如果能早知道这个方法,也不至于之前对于学习android那么没自信了,不管学什么语言,最重要就是要有解决bug的能力,而这个方法能够使你的android技能提高50%。
最近接了个任务,给以前的项目升级,错误一大把,有时给的报错的有用信息非常有限,只是告诉你是这个错误,但是不指向具体位置,这就相当痛苦了。根本不知道从何改起。
建议使用gradlew --stacktrace --info 查看详细信息,解决了一部分问题,显示build success ,但是rebuild project还是报错
这个时候你查看一下build报错信息,是定位不到具体位置的,但是有一个很有用的关键单词,有了这个关键单词,基本上能解决百分之百的问题,再也不怕android studio项目报错了。
在android studio的右边侧边栏有一个gradle菜单,打开之后可以看到有很多项编译的指令。android项目编译的时候会把用到的指令都走一遍,那些指令都在这了。
升级项目build的时候大部分会报错compileDebugResources或者mergeReleaseResources这些资源错误
这时候你再用指令gradlew compileDebugResources --stacktrace --info或者gradlew mergeReleaseResources --stacktrace --info ,就会显示具体哪个资源的哪个字段报错了
看到gradle相关关键词,就用gradlew 命令就可以定位了
可能有些小伙伴就问了,这里是定位到项目的build缓存目录下某个文件,找到这个文件打开,定位到报错的行数,找到它的id再全局查找这个id在哪个文件
在次记录下,不懂的我们可以交流一下。