Загрузка файлов ProGuard в Firebase
Попробуйте недавно выпущенную функцию, которая позволяет загружать файл сопоставления ProGuard в Firebase (https://firebase.google.com/docs/crash/android) с помощью задачи gradle. Ниже приводится задача, которую я выполняю.
./gradlew -PFirebaseServiceAccountFilePath=xxxxx.json :app:firebaseUploadReleaseProguardMapping
Однако, похоже, он не распознает файл учетной записи службы. Неужели кому-то повезло, что это работает? Я также попытался определить FirebaseServiceAccountFilePath
в gradle.properties.
* 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.
Ответы
Ответ 1
Установить относительный путь к json в gradle.properties(в корне проекта)
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 {
...
}
Ответ 2
Сообщение об ошибке вводит в заблуждение. Вы увидите, что если путь к файлу, который вы указали для учетной записи службы, не найден. Попробуйте передать полный, недвусмысленный путь к файлу учетной записи службы (старайтесь не зависеть от относительных путей).
Я буду следить за тем, чтобы следующая версия плагина имела более значимое сообщение об ошибке для случая, когда файл не найден. Извините за беспокойство.
Ответ 3
В моем случае я использовал Jenkins для загрузки сопоставлений proguard для меня. Мне пришлось изменить права доступа к файлу json private key с 400
до 444
.