Nach dem Upgrade von Firebase SDK erhalte ich den Fehler: Es gibt mehrere Datenspeicher für dieselbe Datei: DataStore/AQ

Post a reply

Smilies
:) :( :oops: :chelo: :roll: :wink: :muza: :sorry: :angel: :read: *x) :clever:
View more smilies

BBCode is ON
[img] is ON
[flash] is OFF
[url] is ON
Smilies are ON

Topic review
   

Expand view Topic review: Nach dem Upgrade von Firebase SDK erhalte ich den Fehler: Es gibt mehrere Datenspeicher für dieselbe Datei: DataStore/AQ

by Anonymous » 25 Aug 2025, 01:49

Ich habe einen Laufzeit -Umgebungsumschalter, in dem wir die Standard -Firebase -App löschen und neu initialisieren, um auf die korrekte Firebase -App basierend auf der Umgebung zu verweisen. Auf diese Weise können wir für jede Umgebung separate Analysen und Crashlytics für dieselbe App < /p>
Ich habe meine Firebase -SDKs vor einigen Tagen auf die neuesten Versionen aktualisiert. Seitdem stürzt unser Umgebungsumschalter mit diesem Fehler ab:

java.lang.IilleGalStateException: Es gibt mehrere DataStores für dieselbe Datei: Dateien/DataStore/AQS/SessionConFigsDatastore.data. Sie sollten Ihren Datenspeicher entweder als Singleton beibehalten oder bestätigen, dass keine zwei Datenspeicher in derselben Datei aktiv sind (indem Sie bestätigen, dass das Zielfernrohr abgebrochen wird). suspend fun reset() {
FirebaseApp.getApps(context).forEach {
it.delete()
}

init()
}

suspend fun init() {
val environment = environmentRepository.getEnvironment()
val configFileName = environment.configFileName

val inputStream = context.assets.open(configFileName)
val jsonString = inputStream.bufferedReader().use { it.readText() }

val firebaseOptionsJsonFile = gson.fromJson(jsonString, FirebaseJsonFileOptions::class.java)

val firebaseOptions = firebaseOptionsJsonFile.mapToFirebaseOptions()

val isNotAlreadyInitialized =
FirebaseApp.getApps(context).none { it.name == DEFAULT_APP_NAME }

if (isNotAlreadyInitialized) {
FirebaseApp.initializeApp(context, firebaseOptions)
Timber.d("$TAG: Firebase initialized with environment: $environment")
} else {
Timber.d("$TAG: FirebaseApp already initialized with environment: $environment")
}
}
< /code>
Ich habe versucht, mehrere Apps festzulegen, anstatt die Standard -App nachzubilden. Ich hatte jedoch dieser Einschränkung: < /p>
Hinweis: Auf Android- und Apple -Plattformen werden die Analysen nur für die Standard -App protokolliert. Auf diese Weise stellen wir uns nicht dem DataSastore -Absturz gegenüber

Top