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
答案 0 :(得分:15)
阅读答案的最后部分以获取最新更新
原始回答
我进行了一些研究:
here 找到SonarQube内部跟踪的问题
here你 可以找到SonarQube开发人员询问Google的问题 关于API的变化。正如Google工程师所述,此更改旨在实现,并且已存在替代API。 SonarQube表示他们不会支持Android插件3.0.0,直到最终版本或至少RC版本
结果:
要继续工作,您必须使用当前稳定的Android Studio和Android插件v2.X.X构建项目
更新 - 2017年11月6日
SonarQube发布了新版本2.6,它与AGP(Android Gradle Plugin)3.0.0完全兼容。
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"
发布页面HERE
中的更多信息答案 1 :(得分:9)
您可以使用我的解决方案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'
答案 2 :(得分:2)
在sonarqube 2.6发布后,只更新插件对我来说已经足够了
plugins {
id "org.sonarqube" version "2.6"
}
答案 3 :(得分:-5)
尝试使用较低版本的gradle