[英]SonarQube - Android not working for gradle 3.0.0
Android sonarqube 一直工作到我更新了 android studio。 现在它给出了一个错误
FAILURE: Build failed with an exception.
* What went wrong:
com.android.build.gradle.api.ApkVariant.getCompileLibraries()Ljava/util/Collection;
我认为这是因为 gradle 依赖语法在最新的 android 版本中从“编译”更改为“实现”,如下所示。
从
dependencies {
compile ........
compile ........
}
到
dependencies {
implementation ........
implementation ........
}
任何人都可以帮我为新的android版本配置sonarqube
阅读答案的最后一部分以获取最新更新
原答案
我进行了一些研究:
在这里您可以找到 SonarQube 内部跟踪的问题
在这里,您可以找到 SonarQube 开发人员向 Google 询问有关 API 更改的问题。 正如 Google 工程师所说,此更改是有意为之,并且已经存在替代 API。 SonarQube 表示在最终版本或至少 RC 版本之前他们不会支持 android 插件 3.0.0
结果:
为了继续工作,您必须使用当前稳定的 Android Studio 和 Android 插件 v2.XX 构建您的项目
更新 - 2017 年 11 月 6 日
SonarQube 发布了与 AGP(Android Gradle 插件)3.0.0 完全兼容的新版本 2.6。
buildscript {
repositories {
google()
jcenter()
maven {
url "https://plugins.gradle.org/m2/"
}
}
dependencies {
classpath 'com.android.tools.build:gradle:3.0.1'
classpath "org.sonarsource.scanner.gradle:sonarqube-gradle-plugin:2.6.1"
}
}
allprojects {
repositories {
google()
jcenter()
}
}
apply plugin: "org.sonarqube"
发布页面中的更多信息在这里
您可以使用我的解决方案https://github.com/SonarSource/sonar-scanner-gradle/pull/33
buildscript {
repositories {
jcenter()
google()
maven {
url "https://plugins.gradle.org/m2/"
}
}
dependencies {
classpath "com.android.tools.build:gradle:3.0.0"
classpath "org.sonarsource.scanner.gradle:sonarqube-gradle-plugin:2.6-rc1"
}
}
apply plugin: 'org.sonarqube'
在 sonarqube 2.6 发布后,仅仅更新插件对我来说就足够了
plugins {
id "org.sonarqube" version "2.6"
}
更新 Benoit 答案,官方声纳扫描仪 gradle 插件 (v2.6-rc1) 已经支持新的 gradle 语法。 因此,将您的根 gradle 脚本更新为:
buildscript {
repositories {
jcenter()
google()
maven {
url "https://jitpack.io"
}
}
dependencies {
classpath "com.android.tools.build:gradle:3.0.0"
classpath "com.github.SonarSource:sonar-scanner-gradle:2.6-rc1"
}
}
apply plugin: 'org.sonarqube'
尝试使用低版本的 gradle
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.