gpt4 book ai didi

java - 使用 Lint 和 SonarQube 分析 Android 项目

转载 作者:IT老高 更新时间:2023-10-28 20:31:38 26 4
gpt4 key购买 nike

我真的有一个“溢出”,试图让这些东西一起工作。我按照这里的指示:http://docs.sonarqube.org/display/PLUG/Android+Lint+Plugin最后得到了一个安装了 Android Lint 插件 1.1 的 SonarQube 5.1.1 服务器。然后我将我的多模块 Gradle 构建配置为与 SonarQube 插件一起使用:请参阅下面根配置中的代码 fragment 。

plugins {
id 'org.sonarqube' version '1.0'
}

sonarqube {
properties {

property 'sonar.host.url', 'sonarqube-server:9000'
property 'sonar.jdbc.url', 'jdbc:mysql://sonarqube-db:3306/sonar?useUnicode=true&characterEncoding=utf8'
property 'sonar.jdbc.driverClassName', 'com.mysql.jdbc.Driver'
property 'sonar.jdbc.username', 'sonar'
property 'sonar.jdbc.password', 'sonar'
property 'sonar.sourceEncoding', 'UTF-8'
property 'sonar.login', 'admin'
property 'sonar.password', 'admin'

property 'sonar.profile', 'Android Lint'

property 'sonar.import_unknown_files', true
property 'sonar.android.lint.report', 'build/outputs/lint-results.xml'
}
}

然后我运行 lint sonarqubetask 来执行分析。结果,我收到了大量关于“retrolambda”项目的 Lint 错误(java.lang.UnsupportedOperationException: Unknown ASTNode child: LambdaExpression),这很正常,并且 lint-results.xml每个模块的 (随附 HTML 版本)文件,其中包含对发现的问题的描述。报告称发现了 8 个错误和 434 个警告。但是当 sonarqube 插件尝试将结果上传到 SonarQube 服务器时出现问题。日志中充满了“无法找到文件”和“无法找到规则”消息。当处理结束时,我的项目在 SonarQube 服务器上没有报告任何问题。

我想知道,出了什么问题?我检查了路径,所有文件都在那里。我查看了所有可以进行的讨论,似乎我的配置是正确的,而且我做的一切都是正确的。有没有人有任何线索,我错过了什么以及需要检查什么?欢迎任何建议或想法。

如果有一种方法可以使用外部 SonarQube Runner 导入 lint 数据,我也会很高兴,因为这个工具似乎比 Gradle 插件更可预测和更稳定。

最佳答案

我在一个多模块 android 项目上取得了成功。由于完整的构建文件占用太多空间,我只在此处显示相关部分。

在父项目的build.gradle我设置:

buildscript {
...
dependencies { classpath 'com.android.tools.build:gradle:1.5.0'
...
}
plugins { id "org.sonarqube" version "1.1" }

在我设置的应用项目(和任何其他子项目)中:

sonarqube {
properties {
property "sonar.profile", "Android Lint"
property "sonar.sources", "./src/main/java"
}
}

这是 SonarQube 插件开始分析项目的最低设置。

关于java - 使用 Lint 和 SonarQube 分析 Android 项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31969440/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com