将ProGuard映射文件上传到Firebase

问题描述:

我尝试了最近发布的功能,该功能允许使用Gradle任务将ProGuard映射文件上传到Firebase(https://firebase.google.com/docs/crash/android)。以下是我正在运行的任务。将ProGuard映射文件上传到Firebase

./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. 

设置相对路径JSON在gradle.properties(在项目根)

FirebaseServiceAccountFilePath = /firebase-crashreporting.json 

apply plugin: 'com.android.application' 
apply plugin: 'com.google.firebase.firebase-crash' 

android { 
    ... 
} 

setProperty("FirebaseServiceAccountFilePath", rootProject.rootDir.absolutePath + FirebaseServiceAccountFilePath) 

dependencies { 
    ... 
} 
+0

也为我工作 –

+0

Awsome :)诀窍 –

+0

很棒,,,谢谢 –

错误消息是误导性的。如果没有找到您为服务帐户提供的文件路径,您将看到。尝试传递服务帐户文件的完整无歧义路径(尽量不要依赖相对路径)。

我将确保插件的下一个版本具有更有意义的错误消息,以查找未找到该文件的情况。对于麻烦抱歉。

+0

谢谢道格。使用完整路径让我超越了这个问题。我得到的下一个错误是FileNotFoundException: /google-services.json“我想这应该是依赖于'google-services.json'(因为各种原因我们使用'FirebaseApp.initializeApp ()'来初始化firebase,而不是依赖于那个文件的存在) –

+0

明白了,这是一个完全不同的问题,我将不得不提出一个不同的问题,让你通过命令行传递项目id。 ,你可以尝试下载你的项目的google-services.json文件,并把它放在预期的位置,这样插件可以抓住它执行上传所需的东西。 –

+0

我们这样做的问题是, –

在我来说,我是用詹金斯上传更新您的build.gradle这个属性proguard映射为我。我必须将json私钥文件的文件权限从400更改为444