SonarQube - Android不适用于gradle 3.0.0

thi*_*wan 10 android kotlin android-studio android-gradle-plugin sonarqube

Android sonarqube一直工作,直到我更新android studio.现在它给出了一个错误

FAILURE: Build failed with an exception.

* What went wrong:
com.android.build.gradle.api.ApkVariant.getCompileLibraries()Ljava/util/Collection;
Run Code Online (Sandbox Code Playgroud)

我认为这是因为在最新的Android版本中,gradle依赖语法从' compile '变为' implementation ',如下所示.

dependencies {
    compile ........
    compile ........
}
Run Code Online (Sandbox Code Playgroud)

dependencies {
    implementation ........
    implementation ........
}
Run Code Online (Sandbox Code Playgroud)

谁能帮我配置一个新的Android版本的sonarqube

Mat*_*Pag 14

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

原始答案

我做了一些研究:

  • 在这里,您可以找到SonarQube内部跟踪的问题

  • 在这里,您可以找到SonarQube开发人员向Google询问有关API更改的问题.正如Google工程师所述,此更改旨在进行,并且已存在替代API.SonarQube声称他们不会支持android插件3.0.0,直到最终版本或至少RC版本

结果:

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


更新 - 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"
Run Code Online (Sandbox Code Playgroud)

此处的发布页面中有更多信息


Ben*_*oit 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'
Run Code Online (Sandbox Code Playgroud)