Android com.google.firebase.FirebaseException:发生内部错误。[API密钥无效。请传递有效的API密钥。]

Android com.google.firebase.FirebaseException:发生内部错误。[API密钥无效。请传递有效的API密钥。],android,Android,我删除旧的fire base项目并创建新项目。 在那之后,我犯了这个错误 第一个错误是SHA1,这就是我删除旧项目并创建新项目的原因 import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; import com.firebase.ui.auth.AuthUI; import com.google.firebase.auth.FirebaseAuth; import java.util.Arrays

我删除旧的fire base项目并创建新项目。 在那之后,我犯了这个错误

第一个错误是SHA1,这就是我删除旧项目并创建新项目的原因

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;

import com.firebase.ui.auth.AuthUI;
import com.google.firebase.auth.FirebaseAuth;

import java.util.Arrays;

public class MainActivity extends AppCompatActivity {public static final int RC_SIGN_IN = 1;


private FirebaseAuth mFirebaseAuth;
private FirebaseAuth.AuthStateListener mAuthStateListener;



@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    mFirebaseAuth = FirebaseAuth.getInstance();

    startActivityForResult(
            // Get an instance of AuthUI based on the default app
            AuthUI.getInstance()
                    .createSignInIntentBuilder()
                    .setAvailableProviders(Arrays.asList(
                            new AuthUI.IdpConfig.EmailBuilder().build(),
                            new AuthUI.IdpConfig.PhoneBuilder().build(),
                            new AuthUI.IdpConfig.GoogleBuilder().build()
                    ))
                    .setIsSmartLockEnabled(!BuildConfig.DEBUG /* credentials */, true /* hints */)
                    .build(),
            RC_SIGN_IN);
 }

}
这是非常简单的代码,没有错误。这是以前的工作。

我认为问题出在技术方面。比如在消防基地控制台的某个地方


我也面临着这个问题

解决方案: 在项目级别gradle更改google services的版本,同步项目并重新安装

classpath 'com.google.gms:google-services:4.3.0'

对我有效的是“构建”->“清洁项目”并运行它


(我还尝试在Android Studio上同步Firebase,重新创建了google-services.json,但在清理项目之前没有一个对我有效)

类似于E.Akio,我还需要清理然后重建。
但是,在VSCode中,我没有从命令行看到clean so的菜单选项:

cd安卓
用蝙蝠清理


然后我用F5再次启动了应用程序,新的google-services.json必须包含在构建中,因为错误消失了。

Firebase中的API密钥必须与google-services.json文件的密钥匹配要解决此问题,请检查此处的图像


完成此操作后,转到你的android studio,单击工具,选择你的模拟器并擦除数据,现在再次运行该应用程序。我知道这是一个老问题,但它可能会帮助像我这样做荒谬的人。我的问题的根源是我忘了更改app文件夹中的
googleservices.json
文件。我所做的就是更改该文件,然后清理项目和重建项目。您可以通过在
R.string上执行
ctrl+单击
,确认配置已更改。默认的\u web\u client\u id
,这将引导您找到在build文件夹下生成的
values.xml

对我有效的方法是“构建”->“清理项目”并运行它 这不是解决办法

请在firebase和android studio上检查您的包名是否相同

关闭android studio项目,然后重新运行android项目: 去

cd安卓

对于Windows:

格雷德洛。巴特干净


然后关闭所有应用程序,如Emulator、代码编辑器,然后重新构建。这对我有效。

我也面临同样的问题,它对我有效

重新下载google-services.json文件并将其添加到项目中,并在项目级Gradle中更改类路径

classpath 'com.google.gms:google-services:4.3.0'

同步并运行您的项目,它会工作。

您是否更改了您的google-services.json?是的,我更改了。但是它很小,就像它来自这个JSON。我下载并替换它不起作用。我在我的项目中失败了。我想你必须启用你在firebase控制台的“身份验证”部分使用的身份验证提供程序。你能显示全部日志吗?@HarKal等一下。你必须面对它。不,不,我已经按照这个答案上的说明解决了它。清理项目有助于我完成一个干净的构建,有时可以修复所有问题。谢谢你帮我省去了很多麻烦这是正确的解决方案。google play服务版本4.3.5也面临同样的问题,但在将google play服务版本从4.3.6更改为4.3.0后,我的问题得到了解决。非常感谢。这是VSCode用户的正确解决方案。如果您在windows中:./gradlew.bat clean