我正在尝试最近发布的功能,该功能允许使用gradle任务将ProGuard映射文件上传到Firebase(https://firebase.google.com/docs/crash/android)。以下是我正在运行的任务。
./gradlew -PFirebaseServiceAccountFilePath=xxxxx.json :app:firebaseUploadReleaseProguardMapping
但是,它似乎没有识别服务帐户文件。有没有人有幸得到这个工作?我也尝试在gradle.properties中定义FirebaseServiceAccountFilePath
。
* What went wrong:
Execution failed for task ':app:firebaseUploadReleaseProguardMapping'.
> Service account file path has not been defined! Service accounts are used to authorize your mapping file uploads. Learn more at
https://firebase.google.com/docs/crash/android.
答案 0 :(得分:24)
在gradle.properties中设置json的相对路径(在项目根目录中)
FirebaseServiceAccountFilePath = /firebase-crashreporting.json
并在build.gradle中更新此属性
apply plugin: 'com.android.application'
apply plugin: 'com.google.firebase.firebase-crash'
android {
...
}
setProperty("FirebaseServiceAccountFilePath", rootProject.rootDir.absolutePath + FirebaseServiceAccountFilePath)
dependencies {
...
}
答案 1 :(得分:5)
错误消息具有误导性。如果找不到为服务帐户提供的文件路径,您将看到。尝试传递服务帐户文件的完整,明确的路径(尽量不依赖于相对路径)。
我确保插件的下一个版本对于找不到该文件的情况有更有意义的错误消息。抱歉有问题。
答案 2 :(得分:0)
在我的情况下,我使用Jenkins为我上传了proguard映射。我必须将json私钥文件的文件权限从400
更改为444
。