Android Firebase 应用分发 - 服务凭据文件不存在。请检查服务凭据路径并重试。

12

我正在尝试从Crashlytics Beta迁移到Firebase App Distribution。 在中间使用了CircleCi。

在CircleCi中构建失败,并出现以下错误:

  • 发生了什么: 执行任务 ':FiverrApp:appDistributionUploadRelease' 失败。 服务凭据文件不存在。 请检查服务凭据路径并重试

这是我如何配置serviceCredentialsFile变量的方式 在我的build.gradle文件中:

        release {
        buildConfigField "boolean", "FORCE_LOGS", "true"

        firebaseAppDistribution {
            releaseNotes="Notes\n" + getCommitMessages()
            groups="android-testers"
            serviceCredentialsFile="/api-project-xxx-yyy.json"
        }
    }

文件 api-project-xxx-yyy.json 与 build.gradle 文件在同一个文件夹中。 我还尝试过:

serviceCredentialsFile="api-project-xxx-yyy.json"
serviceCredentialsFile='api-project-xxx-yyy.json'

还是没有运气...希望有人能帮助我。

4个回答

11

尝试使用$rootDir来获取路径。例如,如果您将凭据文件 api-project-xxx-yyy.json 传递到根目录,则可以像这样获取:

    firebaseAppDistribution {
        ...
        serviceCredentialsFile="$rootDir/api-project-xxx-yyy.json"
    }

1
Windows --> 我已经给出了完整的路径,但仍然出现错误 > 服务凭据文件不存在。请检查服务凭据路径并重试 有什么建议吗? - Wini
我和rootDir一样遇到了同样的错误,但是当我记录System.out.println("serviceCredentialsFile: $rootDir/api-project-xxx-yyy.json")时,我得到了正确的路径... - Melvynx

3

尝试使用相对路径:

serviceCredentialsFile = "./api-project-xxx-yyy.json"

很可能你的 api-project-xxx-yyy.json 不在根目录中,但你想使用项目目录。

仍然没有作用。我将文件复制到父目录,出现了同样的错误。 - Udi Oshi

0

我使用VS-Code。在资源管理器中右键点击JSON文件,复制路径(完整路径),并将其设置在build.gradle中。

serviceCredentialsFile=“路径”


-1

最终做了以下事情:

    buildTypes {
    debug {
        signingConfig signingConfigs.debug
    }

    release {
        minifyEnabled false
        debuggable false
        signingConfig signingConfigs.release
        proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'

        firebaseAppDistribution {
            releaseNotes = "Notes\n" + getCommitMessages()
            groups = "android-testers"
            serviceCredentialsFile = "file.json"
        }
    }
}

file.json 存在于:

  • 主文件夹
    • .idea
    • app
    • build
    • file.json

我尝试了这个解决方案,但它仍然给了我相同的错误信息:“服务凭证文件不存在。请检查服务凭证路径并重试。”还有其他想法是什么导致这个问题?似乎它正在完全错误的地方寻找。它在我的/.gradle/daemon/6.0.1/路径中查找。 - Wox
@Wox 在我的情况下,这与 Firebase 和 Google Cloud 仪表板之间的权限授予有关(Firebase 管理员权限所在的地方)。 - Udi Oshi

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接