gpt4 book ai didi

java - 构建android项目时出现intellij想法错误-groovy.lang.MissingMethodException : No signature of method:

转载 作者:行者123 更新时间:2023-12-01 16:30:18 26 4
gpt4 key购买 nike

尝试在 intellij idea 中构建 Android 项目并出现以下错误:
构建文件 'C:\Users...\app\build.gradle' 行:91

配置项目 ':app' 时出现问题。

groovy.lang.MissingMethodException: No signature of method: org.gradle.api.internal.file.DefaultFilePropertyFactory$DefaultDirectoryVar.toPath() is applicable for argument types: () values: [] Possible solutions: each(groovy.lang.Closure), tap(groovy.lang.Closure), with(groovy.lang.Closure), with(boolean, groovy.lang.Closure), getAt(java.lang.String), putAt(java.lang.String, java.lang.Object)


applicationVariants.all { variant ->
variant.outputs.each { output ->
def project = "Demo"
def flavourName = variant.flavorName
def variantName = "Build"
def apkName = project + "-" + flavourName + "-" + variantName + "-" + versionName + ".apk"
def relativeRootDir = variant.packageApplicationProvider.get().outputDirectory.toPath()
.relativize(rootDir.toPath()).toFile() // <-- error line
output.outputFileName = new File("$relativeRootDir/release", apkName)
}
}

如何解决这个问题?我应该改变什么?

最佳答案

这似乎是与 "io.fabric.tools:gradle". 的版本“1.28.0”相关的问题。

通常如果groupId:artifactId:n.+会出现这种问题版本控制结构在依赖项(应用程序级别/项目级别)中使用。在这种情况下:

dependencies {
classpath 'io.fabric.tools:gradle:1.+'
}

因为它会自动更新版本,因此,如果最新版本出现任何 fatal error ,项目很可能会因构建/运行时错误而面临崩溃。

Android Studio 总是建议'避免使用 + 在版本号中;可能导致不可预测和不可重复的构建...'

发现一种可行的解决方案是降级到特定的先前版本,例如 1.27.1 或 1.28.0 之前的任何其他稳定的最新版本,例如:
dependencies {
classpath 'io.fabric.tools:gradle:1.27.1'
}

请记住检查两个 gradle 文件(应用程序级别/项目级别)以查看上述依赖项的声明位置并进行相应更改。

关于java - 构建android项目时出现intellij想法错误-groovy.lang.MissingMethodException : No signature of method:,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62056482/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com