Binder:在集成firebase之后,从绑定器存根实现中捕获了RuntimeException

时间:2016-05-21 08:26:09

标签: android firebase singleton app-manager

我收到此错误:

  

尝试在空对象引用上调用接口方法'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 个答案:

答案 0 :(得分:0)

我的代码中发生了同样的事情。错误说这一切都“抓住了RuntimeException ...”

事实证明,我的代码抛出了一个我没有抓到的异常。

答案 1 :(得分:-1)

最后我找到了解决办法:)

这是因为我将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'

这可以找到完整列表here