Gradle build:任务“:app:lint”执行失败

Gradle build: Execution failed for task ':app:lint'

提问人:Davide 提问时间:4/26/2016 最后编辑:Davide 更新时间:11/17/2023 访问量:90471

问:

我正在使用 Android Studio 2.0,当发生一些奇怪的事情时,我正在尝试运行我的程序。我运行了gradle的构建命令,并收到以下错误:

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:lint'.
> Lint found errors in the project; aborting build.

Fix the issues identified by lint, or add the following to your build script to proceed with errors:
...
android {
    lintOptions {
        abortOnError false
    }
}
...

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

BUILD FAILED

Total time: 4.197 secs
Lint found errors in the project; aborting build.

Fix the issues identified by lint, or add the following to your build script to proceed with errors:
...
android {
    lintOptions {
        abortOnError false
    }
}
...
10:41:28: External task execution finished 'build'.

所以......那是什么?我应该通过将代码添加到gradle.build来解决此问题,但问题是:为什么我收到此错误消息?

请救救我!

安卓 android-studio android-gradle-plugin android-studio-2.0

评论

0赞 Gabriele Mariotti 4/26/2016
您是否正在构建版本?
0赞 Davide 4/26/2016
对不起,但我不知道你说的“内置发布”是什么意思......你能说得更具体一点吗?
0赞 Gabriele Mariotti 4/27/2016
您使用的是构建类型“Debug”还是“Release”?
0赞 Davide 4/27/2016
我正在调试模式下构建

答:

79赞 Pinks 4/26/2016 #1

将此内容添加到您的文件中app/build.gradle

android {
    //...
    lintOptions {
        abortOnError false
    }
}

评论

16赞 Davide 4/26/2016
我明白了,但我正在寻找错误的原因......为什么会出现?
0赞 eouw0o83hf 6/30/2017
对于其他观众,请确保您在项目引用了正确的内容 - stackoverflow.com/questions/37250493/...build.gradle
0赞 Cayenne Teoh 7/28/2017
如果我尝试将此代码添加到 build.gradle 中时弹出警告消息“访问被拒绝”怎么办?
0赞 Garrett 10/24/2017
RN 中有许多 s,正如最后一个答案所指出的,使用 .build.gradlebuild.gradle(Module: app)
1赞 Amish Shabani 1/22/2019
这不是一个好的解决方案。有时,它会导致发布apk中出现真正的问题。
25赞 Gabriele Mariotti 4/26/2016 #2

在构建应用程序模块时,您遇到了一些 lint 问题。

您可以在 中生成的报告中找到所有问题。
在这里,您将找到带有 lint 报告的 html 文件和 xml 文件。
Project\module\build\outputs

app\build.gradle

android {
    lintOptions {
        abortOnError false
    }
}

您可以禁用该块,但这不是最佳做法
您应该分析 lint 报告以解决每个点。

评论

5赞 OneWorld 11/24/2016
感谢您指出报告。但是,为什么这些警告没有集成到 Android Studio 中呢?我认为这个IDE比ADT好得多。
1赞 Sold Out 8/6/2017
您应该指定您建议的短脚本添加属于 build.gradle 的 Module:app 部分。
0赞 Sold Out 8/7/2017
@GabrieleMariotti 你是对的。不久之后我改变了主意,但已经很晚了:\如果你要编辑你的答案,我将能够再次取消我的反对票:)
3赞 Blaq 11/9/2016 #3

你的 build.gradle(Module: app) 应该包括


android {
    lintOptions {
        abortOnError false
    }
}

10赞 Jorge Arimany 5/10/2017 #4

我认为最好找到错误而不是忽略它们。

试试这个:

在 Gradle 控制台中找到“将 HTML 报告写入文件”,打开指定的 HTML 文件,您将找到一个 lint 报告

转到您的错误并修复它们

HTML lint report

0赞 MatrixManAtYrService 11/21/2017 #5

运行而不仅仅是 .输出将比平时多得多。其中一些将如下所示:gradle build -igradle build

> Task :project-name:lint FAILED
Putting task artifact state for task ':project-name:lint' into context took 0.0 secs.
Up-to-date check for task ':project-name:lint' took 0.0 secs. It is not up-to-date because:
  Task has not declared any outputs.
Ran lint on variant release: 333 issues found
Ran lint on variant debug: 333 issues found
Wrote HTML report to file:///some/path/lint-results.html
Wrote XML report to file:///some/pahth/lint-results.xml

:project-name:lint (Thread[Task worker for ':',5,main]) completed. Took 1.756 secs.

查看 lint 失败的原因。修复这些错误后,您的构建将顺利完成。/some/path/lint-results.html

29赞 Avid Programmer 2/17/2018 #6
  1. 切换到项目视图
  2. 然后,project/app/build/reports/lint-results
  3. 现在,您将找到两种格式的 lint-result 文件 - 1) xml 和 2) html。

您可以按原样查看这些文件。但是,我发现在浏览器中查看 lint 结果很容易。只需右键单击html文件,然后选择在浏览器中查看即可。

它在我的 Chrome 浏览器中如下图所示打开。

Screenshot of lint results

评论

2赞 Parthi04 5/26/2021
而不是忽视。这是正确的修复方法。
1赞 Bitwise DEVS 6/17/2021
这个很好,在此之前我从来没有真正访问过构建文件夹,现在我会。
0赞 javaPlease42 10/19/2021
是的。就我而言,它在文件中。project/app/build/reports/lint-results-debug
0赞 lejonl 3/28/2018 #7

我收到了错误和 nullpointer 错误。它发生在切换分支之后,对我有帮助的是做一个 Build -> Clean 项目Execution failed for task ':app:lintVital[myBuildVariant]'

0赞 Ali baharvand ahmadi 10/28/2018 #8

仅在 build gradle 中添加以下代码:

android {
    lintOptions {
        abortOnError false
    }
}

这应该足够了。

0赞 Mohammad f 7/20/2019 #9

如果您遇到此问题,请不要在您的 gradle 中添加 linter 禁用器, 这是一个访问错误问题,我在使用 sudo 命令执行几个命令后在 react-native 上遇到了这个问题, 只需重置您的代码访问权限,然后再次释放 例如,mac

sudo chmod -R 777 <project-root-folder-name>

如果它仍然使用

preBuild.doFirst { 
ant.replaceregexp(
    match:'Bad gradle', 
    replace:'Correct one', 
    flags:'g', 
    byline:true
) { 
    fileset(
        dir: 'Where to search', 
        includes: '*.java'
    ) 
} 
}

因此,如果该库中存在错误,则可以在发布之前修复错误

2赞 Fabricio N. de Godoi 9/28/2021 #10

如果 不起作用,Flutter 版本 2.5.1 建议在 lintOptions 中使用以下参数:abortOnError false

android{
    ...
    lintOptions {
        checkReleaseBuilds false
    }
}
0赞 smoothBlue 3/6/2022 #11

新的棉绒方式就是这样

android {
    lint {
        isAbortOnError = false
    }
}
0赞 Umer Nazir 11/17/2023 #12

您可以使用以下命令在调试和发布版本中完全禁用 lint。P.S. 不建议在发布版本中禁用 lint。

在 gradle.properties 中添加以下行

gradle=build -x lint -x lintVitalRelease