Android com.google.firebase.FirebaseException:发生内部错误。[API密钥无效。请传递有效的API密钥。]
我删除旧的fire base项目并创建新项目。 在那之后,我犯了这个错误 第一个错误是SHA1,这就是我删除旧项目并创建新项目的原因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
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