Пакет SDK 4.38.0 для событий приложения Facebook выдает NPE в ViewHierarchy.setAppearanceOfView

У меня проблема в одном из моих приложений, где я использую facebook sdk. После обновления sdk с 4.27.0 до 4.38.0 фабрика начала регистрировать это фатальное исключение. Я не знаю, когда и как это происходит, потому что я не могу воспроизвести это сам. Возможно, у некоторых из вас возникла эта проблема после обновления facebook SDK.

Fatal Exception: java.lang.NullPointerException: Attempt to invoke virtual method 'boolean android.graphics.Bitmap.compress(android.graphics.Bitmap$CompressFormat, int, java.io.OutputStream)' on a null object reference
   at com.facebook.appevents.codeless.internal.ViewHierarchy.setAppearanceOfView(ViewHierarchy.java:182)
   at com.facebook.marketing.internal.ButtonIndexer$ViewProcessor.getClickableElementsOfView(ButtonIndexer.java:197)
   at com.facebook.marketing.internal.ButtonIndexer$ViewProcessor.getClickableElementsOfView(ButtonIndexer.java:206)
   at com.facebook.marketing.internal.ButtonIndexer$ViewProcessor.getClickableElementsOfView(ButtonIndexer.java:206)
   at com.facebook.marketing.internal.ButtonIndexer$ViewProcessor.getClickableElementsOfView(ButtonIndexer.java:206)
   at com.facebook.marketing.internal.ButtonIndexer$ViewProcessor.getClickableElementsOfView(ButtonIndexer.java:206)
   at com.facebook.marketing.internal.ButtonIndexer$ViewProcessor.getClickableElementsOfView(ButtonIndexer.java:206)
   at com.facebook.marketing.internal.ButtonIndexer$ViewProcessor.getClickableElementsOfView(ButtonIndexer.java:206)
   at com.facebook.marketing.internal.ButtonIndexer$ViewProcessor.getClickableElementsOfView(ButtonIndexer.java:206)
   at com.facebook.marketing.internal.ButtonIndexer$ViewProcessor.getClickableElementsOfView(ButtonIndexer.java:206)
   at com.facebook.marketing.internal.ButtonIndexer$ViewProcessor.getClickableElementsOfView(ButtonIndexer.java:206)
   at com.facebook.marketing.internal.ButtonIndexer$ViewProcessor.getClickableElementsOfView(ButtonIndexer.java:206)
   at com.facebook.marketing.internal.ButtonIndexer$ViewProcessor.getClickableElementsOfView(ButtonIndexer.java:206)
   at com.facebook.marketing.internal.ButtonIndexer$ViewProcessor.getClickableElementsOfView(ButtonIndexer.java:206)
   at com.facebook.marketing.internal.ButtonIndexer$ViewProcessor.getClickableElementsOfView(ButtonIndexer.java:206)
   at com.facebook.marketing.internal.ButtonIndexer$ViewProcessor.getClickableElementsOfView(ButtonIndexer.java:206)
   at com.facebook.marketing.internal.ButtonIndexer$ViewProcessor.getClickableElementsOfView(ButtonIndexer.java:206)
   at com.facebook.marketing.internal.ButtonIndexer$ViewProcessor.getClickableElementsOfView(ButtonIndexer.java:206)
   at com.facebook.marketing.internal.ButtonIndexer$ViewProcessor.attachListeners(ButtonIndexer.java:166)
   at com.facebook.marketing.internal.ButtonIndexer$ViewProcessor.process(ButtonIndexer.java:161)
   at com.facebook.marketing.internal.ButtonIndexer$ViewProcessor.run(ButtonIndexer.java:145)
   at android.os.Handler.handleCallback(Handler.java:754)
   at android.os.Handler.dispatchMessage(Handler.java:95)
   at android.os.Looper.loop(Looper.java:163)
   at android.app.ActivityThread.main(ActivityThread.java:6221)
   at java.lang.reflect.Method.invoke(Method.java)
   at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:904)
   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:794)

я также вижу это на версиях Android 5.1 и 4.4.4, на нескольких эзотерических устройствах, таких как LAVA - Grand 2.

marmor 15.11.2018 22:16

отправил отчет об ошибке в facebook, не стесняйтесь голосовать через "подписку": developers.facebook.com/support/bugs/1955482454532167

marmor 15.11.2018 22:23

Уже сделал. Спасибо, что сообщили об этом, я не размещал это на сайте facebook, потому что 3.38.0 не последняя версия sdk :)

DawidJ 16.11.2018 14:39

Чтобы воспроизвести этот случай, вы можете просто создать ImageView и установить пустой BitmapDrawable: imageView.setImageDrawable(new BitmapDrawable()); imageView.setClickable(true); Затем Facebook SDK в ~ 2% случаях (в настоящее время) на основе идентификатора устройства включит функцию индексирования кнопок, и это не удастся, потому что BitmapDrawable.getBitmap может быть нулевым.

lukaville 06.12.2018 14:56

К сожалению, мне не удалось воспроизвести эту ошибку так, как вы описали :(

DawidJ 07.12.2018 14:32

есть новости по этому поводу?

swalkner 21.12.2018 09:25

Эта проблема должна быть исправлена ​​этим коммитом github.com/facebook/facebook-android-sdk/commit/…. Право теперь нам нужно дождаться следующего релиза, чтобы это проверить. Вы можете найти больше информации по этой теме здесь developers.facebook.com/support/bugs/1955482454532167.

DawidJ 21.12.2018 09:53

какая последняя безопасная версия?

swalkner 16.01.2019 06:28

Я не уверен, какая из них последняя, ​​но 4.27.0 у меня работала нормально, и я понизил SDK до этой версии.

DawidJ 16.01.2019 06:51
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
10
9
506
1

Ответы 1

Недавно была выпущена исправленная версия 4.40.0 SDK для facebook android:

Другие вопросы по теме