"-6ren"> "-当gradle build我的项目时,我收到了这个错误: FAILURE: Build failed with an exception. Where: Build file 'App/build.g-6ren">
gpt4 book ai didi

android - Gradle 失败并显示 "Ambiguous method overloading for method java.io.File#"

转载 作者:IT老高 更新时间:2023-10-28 21:54:57 26 4
gpt4 key购买 nike

gradle build我的项目时,我收到了这个错误:

FAILURE: Build failed with an exception.

  • Where:
    Build file 'App/build.gradle' line: 45

  • What went wrong:
    A problem occurred evaluating project ':App'.
    Ambiguous method overloading for method java.io.File#.
    Cannot resolve which method to invoke for [null, class java.lang.String] due to overlapping prototypes between:
    [class java.lang.String, class java.lang.String]
    [class java.io.File, class java.lang.String]

说的是第一行proguardFile规则:

buildTypes {
release {
debuggable false
jniDebugBuild false
signingConfig signingConfigs.(System.getenv("SIGNING_CONFIG") ?: "release")
runProguard true
proguardFile getDefaultProguardFile('proguard-android-optimize.txt')
proguardFile 'proguard-rules.txt'
}
}

我没有任何 local.properties 文件,也没有在 Android Studio 中打开项目。

我的项目有什么问题?我该如何解决这个错误?

最佳答案

The error message has been changed in September 2014.现在更清楚明确地指出问题在于 Gradle 找不到 SDK;其余答案仍然适用于 Gradle 插件的旧版本 (<0.13)。


这是由于 Gradle 无法找到 SDK 位置,因此在执行需要 Android SDK 的操作时失败,例如获取默认的 Proguard 文件位置。

实际上,如果您暂时注释掉该行,Gradle 会告诉您:

SDK location not found. Define location with sdk.dir in the local.properties file or with an ANDROID_HOME environment variable.

你可以修复它:

  • 通过在 local.properties 中定义 SDK 位置:只需将 sdk.dir=/path/to/sdk 添加到那个文件。

  • 通过在环境变量ANDROID_HOME中设置SDK位置:您只需要通过添加ANDROID_HOME=/path/to/来设置环境变量sdkgradle 之前。

    示例:ANDROID_HOME=/path/to/sdk gradle build

使用版本控制系统时,最好在自己的 local.properties 中本地设置位置,因为每次需要使用 Gradle 时手动设置环境变量会很烦人。请确保不要将其 checkin 您的存储库。

关于android - Gradle 失败并显示 "Ambiguous method overloading for method java.io.File#<init>",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23811315/

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