【发布时间】:2015-10-17 15:05:05
【问题描述】:
我通过 Gradle 在我的 Android 应用程序中集成了 FB SDK,用于登录和跟踪事件。登录工作正常,但是一旦我尝试记录应用事件,logcat 就会每 15 秒向我显示一次异常:
D/com.facebook.appevents.AppEventsLogger: Got unexpected exception: java.lang.ClassNotFoundException: com.facebook.a.b
它被扔进去 PersistedEvents' readAndClearStore() method
这是我记录事件的代码:
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.a.b 对我来说似乎是一个proguard 问题。但是在 FB SDK 文档中,他们明确指出您不需要输入任何 proguard 规则即可使其工作。当我不缩小我的应用程序以及从 github 下载 sdk 并将其作为模块包含时,也会显示此错误。
【问题讨论】:
-
这些日志是否来自发布应用程序?还是调试?
-
但是,如果您为 fb sdk 逃避 proguard,它会起作用吗?
-keep class com.facebook.** { *; } -
您在哪里指定缩小选项?你是如何禁用它的?显然它不工作。 AppEventsLogger 尝试每 15 秒记录一次事件(如果有)时正在使用缺少的类。
-
只是在此处添加此内容:在某些时候它开始工作而我没有进行任何更改,因此我没有进一步调查。奇怪的问题。通过查看赞成票,似乎也给其他人带来麻烦..:/
-
将最新的 facebooksdk 更新到您的 android 应用程序(Facebook Sdk 的最新版本为 (4.16.1)
标签: android facebook facebook-android-sdk facebook-sdk-4.x