Android Firebase应用程序分发-服务凭据文件不存在。请检查服务凭证路径,然后重试

时间:2019-11-07 07:09:00

标签: android circleci circleci-2.0 firebase-app-distribution

我正在尝试从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'

仍然没有运气... 如果有人可以帮助我,将不胜感激。

3 个答案:

答案 0 :(得分:2)

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

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

答案 1 :(得分:0)

尝试使用相对路径:

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

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

答案 2 :(得分:-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
    • 应用
    • 构建
    • file.json