SonarQube – Android不工作的Gradle 3.0.0

Android声纳工作,直到我更新Android工作室。 现在它给了一个错误

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 ........ } 

任何人都可以请帮我configurationsonarqube新的android版本

Solutions Collecting From Web of "SonarQube – Android不工作的Gradle 3.0.0"

阅读答案的最后部分以获取最新更新

原始答案

我做了一些研究:

  • 在这里您可以find由SonarQube内部跟踪的问题

  • 在这里你可以findSonarQube开发者打开的问题,询问Google关于API的变化。 正如谷歌工程师所说,这个改变是有意的,另外一个API已经存在了。 SonarQube表示,他们将不会支持android插件3.0.0,直到最终版本或至lessRC版本

结果:

要继续工作,您必须使用当前稳定的Android Studio和Android插件v2.XX来构build您的项目


更新 – 2017年11月6日

SonarQube发布了与AGP(Android Gradle Plugin)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.0' classpath "org.sonarsource.scanner.gradle:sonarqube-gradle-plugin:2.6" } } allprojects { repositories { google() jcenter() } } apply plugin: "org.sonarqube" 

更多信息在这里的发布页面

您可以使用我的解决schemehttps://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' 

更新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' 

sonarqube 2.6发布之后,更新插件就足够了

 plugins { id "org.sonarqube" version "2.6" } 

尝试使用较低版本的Gradle