概述
不应该忽略的Lint fatal errors
- 问题背景
- 解决方法
- 忽略lint检查
- 正确的方式
- 结语
问题背景
昨天晚上临时合并代码后打包release包的时候,突然发现打包失败,并且提示Lint fatal errors,大家出现的错误大概类似于下面这种:
Lint found fatal errors while assembling a release target.
To proceed, either fix the issues identified by lint, or modify your build script as follows:
...
android {
lintOptions {
checkReleaseBuilds false
// Or, if you prefer, you can continue to check for errors in release builds,
// but continue the build even when errors are found:
abortOnError false
}
}
...
解决方法
嗯,提示说的很明确,就是出现了lint fatal errors,你可以选择fix这些error,或者在build.gradle里面添加忽略lint检查的配置脚本。
忽略lint检查
既然打包的时候出现lint error错误,所以阻止了打包流程,所以可以根据提示配置忽略检查的脚本,配置单独提取出来的话就是copy下面的代码,放到build.gradle配置文件里面,
android {
lintOptions {
checkReleaseBuilds false
// Or, if you prefer, you can continue to check for errors in release builds,
// but continue the build even when errors are found:
abortOnError false
}
}
网上一百度,大部分都是说的是忽略lint检查这种快速简单的方式,但是lint已经提示我们出现了fatal error,属于错误级别的东西,我们直接忽略真的好吗???
正确的方式
既然出现了error级别的错误,我们应该是想办法fix它,也就是log里面提示的第一种解决方案,proceed and fixed the error。但是这里并没有提示我们那里出现了error,我们怎么正确找到出错的地方呢?仔细看看网上,其实也是有解决方法出现的,只是被淹没在第一种解决方式的海里答案里。
Android studio其实已经给我们生成了错误报告,路径为build/reports/下面,有xml和html两种格式。打开任意一种就可以看到错误原因,以及发生错误的地方甚至还有错误的解决方式,一般都是因为命名不规范或者使用不规范造成的。我这次的错误就是因为同事在xml布局文件里面应用了不存在的id,修改为正确的id即可,而且因为引用了错误的id,造成ui效果与预期的并不相符!!!
html大概样式如下:
结语
其实最后发现就是由于命名不规范,或者错误的引用导致了lint检查失败!仔细点的话其实时不会出现这种错误的。另外也希望国内的blog更多的出现一些正确的处理办法,而不是简单粗暴的忽略掉某些检查,埋下以后可能出现的雷区。
最后
以上就是漂亮荔枝为你收集整理的Lint found fatal errors while assembling a release target正确处理方式问题背景解决方法结语的全部内容,希望文章能够帮你解决Lint found fatal errors while assembling a release target正确处理方式问题背景解决方法结语所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复