Android Syudio 打包签名Lint found fatal errors while assembling a release target.问题的分析与解决

  使用AS新版本开发,debug编译没问题,但打release包正式包的时候出现了问题,Android Studio出现了错误:
  • Lint found fatal errors while assembling a release target
在这里插入图片描述

  原以为开发、debug都没问题,编译正式包也没问题的。Lint是检查静态资源的(也就是布局文件、图片等res目录下的各种文件),Lint检查出问题一般都是资源文件出现的问题。
  问题分析与解决
  Lint在编译release包的时候发现了致命的错误。为了继续编译或解决Lint标记的问题,或许应该对你的构建脚本进行如下的改动,即在app主module的build.gradle里增加lintOptions,其中checkReleaseBuilds false表示在进行Release构建时不再进行Lint检查,abortOnError false则表示检查到错误后继续编译,不取消当前的构建任务。
好了,问题的大意我们明白了,而且Gradle也给出了解决方案——不过,这个所谓的解决方案,虽然能让编译继续进行,但作为开发人员,绝对不应该逃避这种错误。是的,很显然,Gradle给出的方案就是一种逃避,实际上我们的程序真的是某个地方存在问题,才导致了这样的错误。
那么到底问题可能出在哪里呢?实际上Gradle还是给我们生成了相应的细节文件的,具体位置在app(假如你的app主module就叫app)/build/reports目录下,有一个名为activity_people_will_add.xml的文件,我们打开这个网页文件后,就能看到具体问题出在哪里了。
在这里插入图片描述
在这里插入图片描述

  解决方案
  方案一(不推荐):

关闭lint checkReleaseBuilds 的检查,在build.gradle中加入
lintOptions {
checkReleaseBuilds false
abortOnError false
}

  方案二(推荐):
找到出问题的代码位置,改掉它
首先找到这个reports文件
[app module]/build/reports/lactivity_people_will_add.xml

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值