Facebook SDK 4.7.0 журналы ClassNotFoundException для AppEventsLogger

Я интегрировал FB SDK в своем приложении для Android через Gradle для регистрации и отслеживания событий. Вход в систему работает нормально, но logcat продолжает показывать мне исключение каждые 15 секунд, как только я пытаюсь зарегистрировать событие приложения:

D/com.facebook.appevents.AppEventsLogger: Got unexpected exception: java.lang.ClassNotFoundException: com.facebook.ab 

Он попадает в метод readAndClearStore () PersistedEvents

Вот мой код для регистрации события:

 AppEventsLogger logger = AppEventsLogger.newLogger(this); Bundle parameters = new Bundle(); parameters.putString(AppEventsConstants.EVENT_PARAM_CURRENCY, "EUR"); parameters.putString(AppEventsConstants.EVENT_PARAM_CONTENT_TYPE, "product"); parameters.putString(AppEventsConstants.EVENT_PARAM_CONTENT_ID, id); logger.logEvent(AppEventsConstants.EVENT_NAME_VIEWED_CONTENT, 1.99, parameters); 

Я имею в виду, что com.facebook.ab выглядит для меня проблемой proguard. Но в документах FB SDK они четко заявляют, что вам не нужно вводить какие-либо правила proguard для его работы. Эта ошибка также показывает, когда я не уменьшаю мое приложение, а также загружаю sdk из github и включаю его в качестве модуля.

У меня есть аналогичная проблема несколько дней назад с регистратором в SDK для Facebook (v4.11.0) :

 D/com.facebook.aa(PID): Got unexpected exception: java.io.WriteAbortedException: Read an exception; java.io.NotSerializableException: org.json.JSONObject 

И в своей документации они сказали следующее:

Вам не нужно выполнять какие-либо дополнительные действия для использования ProGuard для Android Android SDK. Инструкции по Proguard см. На веб-сайте проекта Android Tools, запустив ProGuard.

Посмотрев, что заставило не регистрировать какие-либо из моих событий в среде выпуска, я добавил следующее правило в свой файл proguard, а затем волшебным образом начал работать хорошо:

 -keep class com.facebook.** { *; } 

Мы уже открываем билет для команды разработчиков facebook, чтобы получить дополнительную информацию об этом. https://developers.facebook.com/bugs/250752828645777/

Используйте в градиенте вместо sdk: 4.11.0:

 compile('com.facebook.android:facebook-android-sdk:3.23.0') { exclude module: 'bolts-android' } 

Я также не могу войти в fb sdk: 4.11.0, так как эта версия fb sdk обеспечивает исключение класса Facebook. С более высокой версией fb sdk новые классы заменяют старые.

Даже в новой версии 23, ActionBaractivity лишает вас необходимости использовать AppCompatActivity.

Intereting Posts