nat*_*iyu 71 java android firebase
迁移到Firebase Cloud Messaging后.当打开我的应用程序时,它会崩溃并抛出错误,说java.lang.IllegalStateException: FirebaseApp with name [DEFAULT] doesn't exist.
我已经放入了我的新google-services.json并更新了我的SDK.
这是我的MainActivity
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//Check Google play service
GoogleApiAvailability googleAPI = GoogleApiAvailability.getInstance();
int resultCode = googleAPI.isGooglePlayServicesAvailable(this);
if (resultCode != ConnectionResult.SUCCESS) {
if (GooglePlayServicesUtil.isUserRecoverableError(resultCode)) {
GooglePlayServicesUtil.getErrorDialog(resultCode, this,
PLAY_SERVICES_RESOLUTION_REQUEST).show();
} else {
Log.e(LOG_TAG, "This device is not supported.");
finish();
}
}
Log.i(TAG, "InstanceID token: " + FirebaseInstanceId.getInstance().getToken());
}
}
Run Code Online (Sandbox Code Playgroud)
小智 78
你补充说,请仔细检查
apply plugin: 'com.google.gms.google-services'
Run Code Online (Sandbox Code Playgroud)
在应用程序的gradle文件的底部,然后清理并重建项目
Cod*_*ley 21
不确定,如果它在这里是相关的.但是还有另一种情况可能发生这种崩溃.
如果您的应用程序具有服务(具有不同的进程)并且您正在创建自己的Application
类,则该服务和前台应用程序将使用相同的Application类(不是相同的实例)进行初始化.现在,当我使用com.google.firebase:firebase-crash
依赖来处理崩溃时,它会创建一个后台服务your.app.packagename:background_crash
.由于某种原因,这导致我的应用程序崩溃.具体来说,因为在我的Application类中,我正在打电话,
FirebaseDatabase.getInstance().setPersistenceEnabled(true);
Run Code Online (Sandbox Code Playgroud)
我假设,使用我们的Application类启动时的后台服务,不知何故Firebase未初始化.为了解决这个问题,我做到了
if (!FirebaseApp.getApps(this).isEmpty())
FirebaseDatabase.getInstance().setPersistenceEnabled(true);
Run Code Online (Sandbox Code Playgroud)
小智 12
我有类似的问题,对我来说这是一个明显合并的错误/问题.我发现FirebaseInitProvider
由于tools:node="replace"
我的应用程序的清单文件中没有注入到最终清单文件中.因此,尝试删除此xml标记并FirebaseInitProvider
注入,Firebase可以正确初始化.
小智 10
build.gradle文件:
buildscript {
repositories {
jcenter()
mavenLocal()
}
dependencies {
classpath 'com.android.tools.build:gradle:2.1.2'
classpath 'com.google.gms:google-services:3.0.0'
}
}
allprojects {
repositories {
jcenter()
mavenLocal()
}
}
Run Code Online (Sandbox Code Playgroud)
\ app\build.gradle文件:
apply plugin: 'com.android.application'
android {
..
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
..
compile 'com.google.firebase:firebase-core:9.0.2'
compile 'com.google.firebase:firebase-messaging:9.0.2'
}
apply plugin: 'com.google.gms.google-services'
Run Code Online (Sandbox Code Playgroud)
小智 10
@jmodrako的答案解决了我的问题...... tools:node="replace"
来tools:node="merge"
在AndroidManifest.xml上解释....
从
<application
...
tools:node="replace">
Run Code Online (Sandbox Code Playgroud)
至
<application
...
tools:node="merge">
Run Code Online (Sandbox Code Playgroud)
合并图书馆主题的问题?
构建问题解决了使用tools:replace="android:theme"
归档时间: |
|
查看次数: |
36892 次 |
最近记录: |