Binder: поймал RuntimeException от реализации связующего заглушки после интеграции firebase
Я получаю эту ошибку:
Попытка вызвать метод интерфейса 'android.os.IBinder com.mediatek.anrappmanager.IFrameworks.serviceManagerGetService(java.lang.String)' для ссылки на пустой объект
Logcat:
05-21 01:25:46.136 18093-18115/com.myapp.firbase D/ANRAppManager: !!! It is not under singleton mode, U can't use it. !!!
05-21 01:25:46.139 18093-18115/com.myapp.firbase W/Binder: Caught a RuntimeException from the binder stub implementation.
java.lang.NullPointerException: Attempt to invoke interface method 'android.os.IBinder com.mediatek.anrappmanager.IFrameworks.serviceManagerGetService(java.lang.String)' on a null object reference
at com.mediatek.anrappmanager.ANRManagerNative$1.b(SourceFile:77)
at com.mediatek.anrappmanager.ANRManagerNative$1.c(SourceFile:75)
at com.mediatek.anrappmanager.ANRManagerNative$a.get(SourceFile:97)
at com.mediatek.anrappmanager.ANRManagerNative.getDefault(SourceFile:35)
at com.mediatek.anrappmanager.ANRAppManager.dumpMessageHistory(SourceFile:59)
at android.app.ActivityThread$ApplicationThread.dumpMessageHistory(ActivityThread.java:1255)
at android.app.ApplicationThreadNative.onTransact(ApplicationThreadNative.java:691)
at android.os.Binder.execTransact(Binder.java:451)
05-21 01:25:46.143 18093-18115/com.myapp.firbase W/System.err: java.lang.NullPointerException: Attempt to invoke interface method 'android.os.IBinder com.mediatek.anrappmanager.IFrameworks.serviceManagerGetService(java.lang.String)' on a null object reference
05-21 01:25:46.143 18093-18115/com.myapp.firbase W/System.err: at com.mediatek.anrappmanager.ANRManagerNative$1.b(SourceFile:77)
05-21 01:25:46.143 18093-18115/com.myapp.firbase W/System.err: at com.mediatek.anrappmanager.ANRManagerNative$1.c(SourceFile:75)
05-21 01:25:46.143 18093-18115/com.myapp.firbase W/System.err: at com.mediatek.anrappmanager.ANRManagerNative$a.get(SourceFile:97)
05-21 01:25:46.143 18093-18115/com.myapp.firbase W/System.err: at com.mediatek.anrappmanager.ANRManagerNative.getDefault(SourceFile:35)
05-21 01:25:46.143 18093-18115/com.myapp.firbase W/System.err: at com.mediatek.anrappmanager.ANRAppManager.dumpMessageHistory(SourceFile:59)
05-21 01:25:46.144 18093-18115/com.myapp.firbase W/System.err: at android.app.ActivityThread$ApplicationThread.dumpMessageHistory(ActivityThread.java:1255)
05-21 01:25:46.144 18093-18115/com.myapp.firbase W/System.err: at android.app.ApplicationThreadNative.onTransact(ApplicationThreadNative.java:691)
05-21 01:25:46.144 18093-18115/com.myapp.firbase W/System.err: at android.os.Binder.execTransact(Binder.java:451)
код:
mAuthListener = new FirebaseAuth.AuthStateListener() {
@Override
public void onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth) {
FirebaseUser user = firebaseAuth.getCurrentUser();
if (user != null) {
// User is signed in
Log.i("FireBase", "onAuthStateChanged:signed_in:" + user.getUid());
} else {
// User is signed out
Log.i("FireBase", "onAuthStateChanged:signed_out");
}
// ...
}
};
mAuth = FirebaseAuth.getInstance();
mAuth.createUserWithEmailAndPassword("abc@gmail.com", "12345678")
.addOnCompleteListener(this, new OnCompleteListener<AuthResult>() {
@Override
public void onComplete(@NonNull Task<AuthResult> task) {
Log.i("FireBase", "createUserWithEmail:onComplete:" + task.isSuccessful());
// If sign in fails, display a message to the user. If sign in succeeds
// the auth state listener will be notified and logic to handle the
// signed in user can be handled in the listener.
if (!task.isSuccessful()) {
Log.i("FireBase", "createUserWithEmail", task.getException());
//Toast.makeText(context, "Authentication failed.",
// Toast.LENGTH_SHORT).show();
signinFirebase();
} else {
signinFirebase();
}
}
});
mFirebaseAnalytics = FirebaseAnalytics.getInstance(context);
Bundle params = new Bundle();
params.putString("date", "sometext");
params.putString("email", "sometext");
mFirebaseAnalytics.logEvent("registration", params);
зависимости:
compile 'com.android.support:appcompat-v7:23.4.0'
compile 'com.android.support:support-v4:23.4.0'
compile 'com.android.support:design:23.4.0'
compile 'com.google.android.gms:play-services:9.0.0'
compile 'me.dm7.barcodescanner:zxing:1.8.3'
compile 'com.facebook.android:facebook-android-sdk:4.6.0'
compile 'com.android.support:multidex:1.0.1'
compile 'com.google.android.gms:play-services-identity:9.0.0'
compile 'com.google.android.gms:play-services-gcm:9.0.0'
compile 'com.google.android.gms:play-services-analytics:9.0.0'
compile 'com.google.android.gms:play-services-ads:9.0.0'
compile 'com.google.android.gms:play-services-appinvite:9.0.0'
compile 'com.google.firebase:firebase-core:9.0.0'
compile 'com.google.firebase:firebase-messaging:9.0.0'
compile 'com.google.android.gms:play-services-auth:9.0.0'
compile 'com.google.firebase:firebase-auth:9.0.0'
compile 'com.google.firebase:firebase-crash:9.0.0'
compile 'com.google.firebase:firebase-analytics:9.0.0'
compile 'com.google.android.gms:play-services-appindexing:9.0.0'
2 ответа
Решение
Наконец то я нашел решение:)
Это потому что я уточняю com.google.android.gms:play-services:9.0.0
как зависимость. Я привожу буквально все сервисы Google Play - а это много!
В моем случае я добавил эти зависимости вместо com.google.android.gms:play-services:9.0.0
compile 'com.google.android.gms:play-services-identity:9.0.0'
compile 'com.google.android.gms:play-services-location:9.0.0'
compile 'com.google.android.gms:play-services-analytics:9.0.0'
compile 'com.google.android.gms:play-services-ads:9.0.0'
compile 'com.google.android.gms:play-services-appinvite:9.0.0'
compile 'com.google.android.gms:play-services-auth:9.0.0'
compile 'com.google.android.gms:play-services-appindexing:9.0.0'
Здесь можно найти полный список
У меня было то же самое в моем коде. Ошибка говорит все это "Поймано RuntimeException..."
Оказывается, мой код выдавал исключение, которое я не ловил.