默认 FirebaseApp 未在此进程 com.example.example 中初始化。确保首先调用 FirebaseApp.initializeApp(Context)

Posted

技术标签:

【中文标题】默认 FirebaseApp 未在此进程 com.example.example 中初始化。确保首先调用 FirebaseApp.initializeApp(Context)【英文标题】:Default FirebaseApp is not initialized in this process com.example.example. Make sure to call FirebaseApp.initializeApp(Context) first 【发布时间】:2021-10-13 14:14:15 【问题描述】:

我的问题是,当我想按下按钮时,它应该显示来自 firebase 的图像。但每次应用程序崩溃时出现此错误“默认 FirebaseApp 未在此进程 com.example.example 中初始化。请务必先调用 FirebaseApp.initializeApp(Context)。”

她是我的主要活动

package com.nktschmitt.trailercheck

import android.app.Application
import android.content.Context
import android.graphics.BitmapFactory
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.widget.Button
import android.widget.ImageView
import android.widget.Toast
import com.google.firebase.FirebaseApp
import com.google.firebase.ktx.Firebase
import com.google.firebase.storage.FirebaseStorage
import java.io.File
import com.google.firebase.FirebaseApp.initializeApp as initializeApp1

class MainActivity : AppCompatActivity() 
    override fun onCreate(savedInstanceState: Bundle?) 
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)


        val button: Button = findViewById(R.id.button)


        button.setOnClickListener 

            val image: ImageView = findViewById(R.id.rImage)
            val storageRef = FirebaseStorage.getInstance().reference.child("image/a.jpg")

            val localfile = File.createTempFile("tempImage", "jpg")
            storageRef.getFile(localfile).addOnSuccessListener 

                val bitmap = BitmapFactory.decodeFile(localfile.absolutePath)
                image.setImageBitmap(bitmap)

            .addOnFailureListener 


                Toast.makeText(this, "Failed", Toast.LENGTH_SHORT).show()
            


        

    

她是我的项目 Gradle

// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript 
    ext.kotlin_version = "1.5.21"
    repositories 
        google()
        mavenCentral()
    
    dependencies 
        classpath "com.android.tools.build:gradle:4.2.1"
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
        classpath 'com.google.gms:google-services:4.3.9'
    


allprojects 
    repositories 
        google()
        mavenCentral()
    


task clean(type: Delete) 
    delete rootProject.buildDir

她是我的App Gradle

plugins 
    id 'com.android.application'
    id 'kotlin-android'
    id 'com.google.gms.google-services'


android 
    compileSdkVersion 30
    buildToolsVersion "30.0.3"

    defaultConfig 
        applicationId "com.nktschmitt.trailercheck"
        minSdkVersion 18
        targetSdkVersion 30
        versionCode 1
        versionName "1.0"

        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    

    buildTypes 
        release 
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        
    
    compileOptions 
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    
    kotlinOptions 
        jvmTarget = '1.8'
    


dependencies 

    implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
    implementation 'androidx.core:core-ktx:1.6.0'
    implementation 'androidx.appcompat:appcompat:1.3.1'
    implementation 'com.google.android.material:material:1.4.0'
    implementation 'androidx.constraintlayout:constraintlayout:2.1.0'
    implementation 'com.google.firebase:firebase-storage-ktx:20.0.0'
    testImplementation 'junit:junit:4.+'
    androidTestImplementation 'androidx.test.ext:junit:1.1.3'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'


【问题讨论】:

【参考方案1】:

Google 服务插件 v4.3.9 有这个错误。 A newer plugin version 可用于修复。请在您的项目级 build.gradle 文件中手动将 classpath 'com.google.gms:google-services:4.3.9' 升级为 classpath 'com.google.gms:google-services:4.3.10'

【讨论】:

@Noah 如果答案有效,那么您应该将其标记为答案,以便对未来的访问者和整个社区有所帮助。 我在 4.3.10,它还在做:( 它仍在发生【参考方案2】:

我认为仍然存在错误 4.3.8、4.3.9、4.3.10。

建议降级 4.3.7

【讨论】:

这并没有提供问题的答案。一旦你有足够的reputation,你就可以comment on any post;相反,provide answers that don't require clarification from the asker。 - From Review

以上是关于默认 FirebaseApp 未在此进程 com.example.example 中初始化。确保首先调用 FirebaseApp.initializeApp(Context)的主要内容,如果未能解决你的问题,请参考以下文章

确保首先调用 FirebaseApp.initializeApp(Context)。默认 FirebaseApp 未在此过程中初始化 com.example.login

数据“未在此范围内声明的成员”

Chrome 未在我的 PWA 中显示“添加到主屏幕”

必须先配置默认 FirebaseApp 实例,然后才能初始化 defaultFirebaseApp 实例

在 swift iOS 中面临“必须配置默认 FirebaseApp 实例”问题

在 VS Code 中使用 C++ COM/IFileDialog 时出错,而在 Visual Studio 中使用相同的代码。消息:“IID_IFileOpenDialog”未在此范围内声明