我将build.gradle
文件升级为带有gradle 3.4.0
的android gradle插件5.11
。
我的build.gradle
:
apply plugin: 'com.android.application'
apply plugin: 'checkstyle'
android {
compileSdkVersion 28
buildToolsVersion buildVersion
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
defaultConfig {
applicationId "myapp"
minSdkVersion 21
targetSdkVersion 28
versionName "5.20.0"
versionCode 520
}
dataBinding {
enabled true
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
implementation "com.android.support:support-v4:$supportLibVersion"
implementation 'com.android.support.constraint:constraint-layout:1.1.3'
testImplementation 'junit:junit:4.12'
implementation fileTree(dir: 'libs', include: ['*.jar'])
}
task checkstyle(type: Checkstyle) {
source 'src/'
include '**/*.java'
exclude '**/gen/**'
classpath = files()
reports {
xml {
destination "build/outputs/reports/checkstyle-results.xml"
}
}
group = JavaBasePlugin.VERIFICATION_GROUP
description = 'Performs checkstyle verification on the code.'
}
task checkstyleReport(dependsOn: 'checkstyle', group: JavaBasePlugin.VERIFICATION_GROUP) {
if (file("build/outputs/reports/checkstyle-results.xml").exists()) {
ant.xslt(in: "build/outputs/reports/checkstyle-results.xml",
style: "./config/checkstyle/checkstyle.xsl",
out: "build/outputs/reports/checkstyle-results.html"
)
}
}
同步时收到以下错误消息:
失败:构建失败,并出现异常。
位置:构建文件'/Users/cs/Development/project/app/build.gradle'
出了什么问题:评估项目':app'时出现问题。
在类型为Report xml的参数[build / outputs / reports / checkstyle-results.xml]中找不到方法destination()的方法 org.gradle.api.reporting.internal.TaskGeneratedSingleFileReport。
尝试:使用--stacktrace选项运行以获取堆栈跟踪。使用--info或--debug选项运行以获取更多日志输出。使用--scan运行以获取完整的见解。
- 获得更多帮助
在1秒钟内构建失败错误:未找到Gradle DSL方法:“ destination()” 可能的原因:项目“项目”可能正在使用 Android Gradle插件的版本,其中不包含 方法(例如,在1.1.0中添加了“ testCompile”)。升级插件到 版本3.4.0和同步项目
项目“项目”可能使用的版本为 不包含方法的Gradle。打开Gradle包装器文件
构建文件可能缺少Gradle插件。应用Gradle插件
错误指向以下行:
reports {
xml {
destination "build/outputs/reports/checkstyle-results.xml"
}
}
destination
的语法是否已在gradle中更改?
答案 0 :(得分:3)
解决方案
reports {
xml {
destination file("build/outputs/reports/checkstyle-results.xml")
}
}
用于获取Object的方法,但现在需要File类型作为参数-因此出现参数错误。 因此,传递文件可以解决问题。
您可以在此处查看所需的参数类型: