我试图从我的应用程序创建一个登录系统,但是当我打开它时崩溃了。我设法将错误找到了行
mFirebaseAuth = FirebaseAuth.getInstance();
对我来说毫无意义。这是代码:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//Initialize Firebase Auth
mFirebaseAuth = FirebaseAuth.getInstance();
mFirebaseUser = mFirebaseAuth.getCurrentUser();
if (mFirebaseUser == null) {
// Not logged in, launch the Log In activity
loadLogInView();
}
}
private void loadLogInView() {
Intent intent = new Intent(this, LogInActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);
startActivity(intent);
}
和崩溃报告:
02-20 01:04:45.137 3186-3186/? E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.maegner.testingfirebase, PID: 3186
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.maegner.testingfirebase/com.maegner.testingfirebase.MainActivity}: java.lang.IllegalArgumentException: Given String is empty or null
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2646)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2707)
at android.app.ActivityThread.-wrap12(ActivityThread.java)..............
答案 0 :(得分:1)
此错误可能是由配置错误的google-services.json
文件引起的。如果缺少api_key
,则会发生错误。验证您的google-services.json
文件是否包含此部分:
"api_key": [
{
"current_key": "AIzaSyDkG-g8hH7T4TV7RrN23ccnRsXp12345678" //<-- your key here
}
],
如果没有,请重新生成google-services.json
。
答案 1 :(得分:0)
确保已使用插件: 应用插件:“ com.google.gms.google-services”
与诸如“ com.google.android.gms:play-services-maps:16.0.0”之类的库可能会发生一些冲突,在这种情况下,作为解决方案,通常会删除该插件。我确定了,这就是问题所在。在没有播放服务库的情况下进行测试。
答案 2 :(得分:0)
我通过从以下版本升级依赖项来解决此问题
implementation 'com.google.firebase:firebase-auth:16.0.5'
到
implementation 'com.google.firebase:firebase-auth:19.2.0'
有关详细信息,请参见this。