Android NPE на BackdropFrameRenderer onResourcesLoaded () - PullRequest
0 голосов
/ 22 мая 2019

Может кто-нибудь сказать мне лучший способ устранения неполадок или воспроизвести это? Все, что у меня есть, это трассировка стека, и куча моих пользователей рушится ..

java.lang.NullPointerException: Attempt to invoke virtual method 'android.graphics.drawable.Drawable android.graphics.drawable.Drawable$ConstantState.newDrawable()' on a null object reference
    at com.android.internal.policy.BackdropFrameRenderer.onResourcesLoaded(BackdropFrameRenderer.java:113)
    at com.android.internal.policy.BackdropFrameRenderer.<init>(BackdropFrameRenderer.java:85)
    at com.android.internal.policy.DecorView.onWindowDragResizeStart(DecorView.java:2041)
    at android.view.ViewRootImpl.startDragResizing(ViewRootImpl.java:7545)
    at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1981)
    at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1299)
    at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6558)
    at android.view.Choreographer$CallbackRecord.run(Choreographer.java:871)
    at android.view.Choreographer.doCallbacks(Choreographer.java:683)
    at android.view.Choreographer.doFrame(Choreographer.java:619)
    at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:857)
    at android.os.Handler.handleCallback(Handler.java:751)
    at android.os.Handler.dispatchMessage(Handler.java:95)
    at android.os.Looper.loop(Looper.java:154)
    at android.app.ActivityThread.main(ActivityThread.java:6317)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:872)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:762)

Как видите, сбой происходит в коде Android API, поэтому я не могу понять, когда это происходит. Я обнаружил, что у некоторых людей были похожие проблемы, но с React Native и другими фреймворками. Мое приложение - Java / Kotlin, нативный код.

Ответы [ 2 ]

0 голосов
/ 22 мая 2019

Не совсем ответ, просто совет: первое, что вы должны попытаться сделать, это выяснить, какой актив / res / image / что-нибудь разрушает ваше приложение, и вы можете начать с того, что действительно копаетесь в исходном коде.Например, BackdropFrameRenderer.java говорит, что речь идет о фоне и изменении размера, поэтому вы можете начать с просмотра мест, в которых вы устанавливаете фон, а затем попытаться изменить размер окна (переключить разделенный экран, поворот или дажережим Windows в Android Q), и посмотрите, можете ли вы получить больше информации.

0 голосов
/ 22 мая 2019

NPE просто означает, что все, что находится до ., равно нулю.Например, something.DoSomething() в этом случае something будет нулевым.

В вашем случае похоже, что вы пытаетесь что-то сделать с помощью drawable, но ваш drawable равен нулю.

Установите точки останова и узнайте.

...