首页 > 解决方案 > E/com.facebook.appevents.RestrictiveDataManager:updateRulesFromSetting 失败

问题描述

当我从 Android Studio 启动我的应用程序并在我的设备小米米 A2 上安装了 Facebook SDK 时,它会触发相同的错误三次。它不会停止应用程序,但我不知道我是否遗漏了什么,或者只是,这并不重要,但最后,这是一个错误,我想澄清一下。

我在小米 A2 上使用 Android Studio 3.4.1、Android 9,build.gradle 文件中的新子句是implementation 'com.facebook.android:facebook-android-sdk:5.1.0'. 升级 Facebook SDK 之前未出现错误。

这是出现在 Logcat 中的内容:

2019-06-24 18:24:31.202 25105-25136/com.myapp E/com.facebook.appevents.RestrictiveDataManager:updateRulesFromSetting 失败 org.json.JSONException:在 org.json.JSONTokener.syntaxError 的字符 0 处输入结束(JSONTokener.java:449) 在 org.json.JSONTokener.nextValue(JSONTokener.java:97) 在 org.json.JSONArray.(JSONArray.java:92) 在 org.json.JSONArray.(JSONArray.java:108)在 com.facebook.appevents.RestrictiveDataManager.updateFromSetting(RestrictiveDataManager.java:32) 在 com.facebook.internal.FetchedAppSettingsManager.parseAppSettingsFromJSON(FetchedAppSettingsManager.java:323) 在 com.facebook.internal.FetchedAppSettingsManager.access$000(FetchedAppSettingsManager.java: 63) 在 com.facebook.internal.FetchedAppSettingsManager$1.run(FetchedAppSettingsManager.java:181) 在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641) 在 java.lang.Thread.run(Thread .java:764)

标签: androidfacebookfacebook-android-sdkandroid-9.0-pie

解决方案


编辑 该问题已在版本 5.1.1 中修复。


恢复到 5.0.3 以摆脱这种情况。5.1.0 实际上以这种方法在生产中崩溃(这里有一个错误报告)。该文件的 GitHub 提交显示其相当有缺陷,该方法从多个线程调用,导致并发崩溃,因为它使用静态 ArrayList。

最近,核心 FB SDK 有点臃肿,充斥着无用的东西和低质量的代码。甚至无法关闭的无代码东西“功能”尤其令人恐惧。如果您的应用程序中并不严格需要 FB SDK,我会避免使用它,直到他们弄清楚他们的问题。


推荐阅读