当前位置: 首页 > 知识库问答 >
问题:

intellij idea在构建android项目-groovy时出错。lang.MissingMethodException:没有方法的签名:

茹高义
2023-03-14

试图在intellij想法中构建Android项目,并获得以下错误:构建文件'C:\用户...\app\build.gradle'line: 91

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

groovy.lang.MisSingmethod odExcture:没有方法的签名:org.gradle.api.internal.file.DefaultFileProperty tyFactory$DefaultDirectoryVar.toPath()适用于参数类型:()值:[]可能的解决方案:每个(groovy.lang.闭包),点击(groovy.lang.闭包),with(groovy.lang.闭包),with(布尔值,groovy.lang.闭包),getAt(java.lang.字符串),putAt(java.lang.字符串,java.lang.对象

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

这个怎么解决?我应该改变什么?

共有1个答案

步兴为
2023-03-14

这似乎与“io.fabric.tools:gradle”的“1.28.0”版本有关

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

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

因为它会自动更新版本,因此,如果最新版本中存在任何致命错误,项目可能会因构建/运行时错误而面临崩溃。

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

一个有效的解决方案是降级到一个特定的早期版本,如1.27。1或1.28之前的任何其他稳定的最新版本。0,例如:

dependencies {
    classpath 'io.fabric.tools:gradle:1.27.1'
}

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

 类似资料:
  • 新安装的android工作室,并开始新的Android项目。当试图运行它时。从Gradle那里得到这个错误 我尝试过重建项目,也尝试过删除文件夹,但没有任何效果。

  • 我是Hilt的新手,我正在努力在我的多模块应用程序中实现它。经过无限次尝试,构建错误从“错误a”到“错误b”,然后是“错误c”等等。 这就是我如何开始在我的多模块应用程序中实现希尔特: 应用程序build.gradle: 考虑到这一点,我必须提到我有一个AppSettings类,在那里我存储了所有的应用程序配置(现在我已经创建了AppSettings1只是为了测试),开始时我试图将该类注入到主活动

  • 当Android studio gradle尝试构建我的应用程序时,我遇到了以下例外情况。 行:3 评估项目“:app”时出现问题。方法无签名:build\u 9zxr20k2zkn73ctdrehcrmd74。android()适用于参数类型:(build\u 9zxr20k2zkn73ctdrehcrmd74$\u run\u closure1)值:[build\u 9zxr20k2zkn73

  • 在Groovy中使用以下代码时。。。 ...我得到以下例外: 捕获:groovy.lang.丢失方法异常:方法printDocument()的签名不适用于参数类型(java.lang.字符串,java.lang.字符串,java.lang.整数,java.lang.字符串,java.lang.字符串,java.lang.整数,java.lang.整数,java.lang.整数,java.lang.