最近、実稼働の Android アプリを Instabug 2.5.1 から 3.1.1 に更新しました。それ以来、Android 4 ~ 6 の範囲の携帯電話の InstabugFeaturesManager の NullPointerException が原因で、Fabric で一貫したクラッシュ レポートを取得しています。この問題はテストで確認されていないか、再現できませんでした。
クラッシュレポートは次のとおりです。
Fatal Exception: java.lang.RuntimeException: Unable to create application com.myapp.main.MyApplication: java.lang.NullPointerException: Attempt to invoke virtual method 'boolean java.lang.Boolean.booleanValue()' on a null object reference
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6032)
at android.app.ActivityThread.access$1700(ActivityThread.java:218)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1795)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:145)
at android.app.ActivityThread.main(ActivityThread.java:6934)
at java.lang.reflect.Method.invoke(Method.java)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1404)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1199)
Caused by java.lang.NullPointerException: Attempt to invoke virtual method 'boolean java.lang.Boolean.booleanValue()' on a null object reference
at com.instabug.library.h.a(InstabugFeaturesManager.java:70)
at com.instabug.library.g.b(InstabugDelegate.java:208)
at com.instabug.library.Instabug$Builder.build(Instabug.java:1277)
at com.instabug.library.Instabug$Builder.build(Instabug.java:1372)
at com.myapp.main.MyApplication.onCreate(MyApplication.java:107)
at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1035)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6029)
at android.app.ActivityThread.access$1700(ActivityThread.java:218)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1795)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:145)
at android.app.ActivityThread.main(ActivityThread.java:6934)
at java.lang.reflect.Method.invoke(Method.java)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1404)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1199)
build.gradle
:
compile('com.instabug.library:instabug:3.1.1') {
exclude group: 'com.android.support';
exclude group: 'com.google.android.gms';
}
注: アプリが使用しているバージョンを制御したいので、これらのライブラリを除外しています。
MyApplication#onCreate()
:
new Instabug.Builder(this, MyConstants.Application.INSTABUG_KEY)
.setInvocationEvent(InstabugInvocationEvent.SHAKE)
.setShakingThreshold(500)
.setCrashReportingState(Feature.State.DISABLED)
.setTrackingUserStepsState(Feature.State.ENABLED)
.setInAppMessagingState(Feature.State.DISABLED)
.setIntroMessageEnabled(false)
.setEmailFieldRequired(true)
.build(); //Crash originates here
これはあなたの通常のNullPointerException
質問ではないと主張します。1 つには、null になる可能性のあるビルドに何も追加していないため、内部でクラッシュする可能性があります。さらに、Instabug ライブラリは非常に難読化されているため、内部でクラッシュする理由がわかりません。私はいたるところを見回しましたが、他の誰かがこの問題を抱えているケースは見つかりませんでした. ここで何か不足していますか?