[Bug]org.gradle.api.GradleException: Lint found fatal errors while assembling a release target

一、Bug log

org.gradle.execution.MultipleBuildFailures: Build completed with 1 failures.
	at org.gradle.......
	......
Caused by: org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':app:lintVitalRelease'.
	at org.gradle......
	......
	
Caused by: org.gradle.api.GradleException: 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
    }
}
...
	at com.android.tools.lint.gradle.Lint.....
	......

二、Bug描述

  • 在编辑正式包时,报出上面的错误log
  • 根据Caused by: org.gradle.api.GradleException: Lint found fatal errors while assembling a release target.获知,该错误是lint检查到了致命错误,导致编译正式包失败
  • 一般为res下的资源文件出错

三、解决

1、不完美的解决(不推荐)

按照报错提示,在module的gradle文件中,添加如下代码,忽略lint检查发现的错误:

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
    }
}

当然,这是不严谨、不可取的…
然而as没有给出更多的较明确的错误提示,怎么办?请看下面的解决办法。

2、排查解决(推荐)

lint检查的错误会生成错误报告,查看当前module的/build/reports/文件夹中lint-results-release-fatal.html文件,以网页形式打开,将看到非常详细的报错,例如下图:
在这里插入图片描述

  • 以上截图仅作为示例,你的项目报错的详细原因可能与截图不同
  • 这个问题大概是因为,之前这些组件是在某个RelativeLayout中的,后来因为UI改动,不在之前的RelativeLayout中了,或者被依赖位置的组件不在之前的RelativeLayout中了,但是没有将关联位置的id设置删除
  • lint检查的问题类型有很多,报出的问题应尽力查看详细报告排查清楚
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值