Недавно я обновил свое приложение для Android от Instabug 2.5.1 до 3.1.1. С тех пор я получаю согласованные отчеты о сбоях на Fabric, вызванные NullPointerException в InstabugFeaturesManager для телефонов от Android 4-6. Я не видел эту проблему при тестировании или не смог ее воспроизвести.Обнаружение Android Builder от Instabug 3 (NullPointerException)
Вот отчет аварии:
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
вопрос. Во-первых, я не добавляю ничего в сборку, которая может быть пустой, и она рушится внутри. Кроме того, библиотека Instabug сильно запутана, поэтому я не могу понять, почему она рушится внутри страны. Я оглядывался повсюду, но не нашел случая, когда кто-либо еще сталкивался с этой проблемой. Я что-то упустил?
Что произойдет, если вы включите библиотеку? – harshitpthk
Добавил ли вы класс приложения i.e ** MyApplication ** в манифест? – Developer
Да, у меня есть. Обратите внимание, что это приложение, которое работает уже более года и работает до обновления. –