android 应用程序在首次尝试在发布模式下使用 Facebook sdk 共享数据时崩溃

Posted

技术标签:

【中文标题】android 应用程序在首次尝试在发布模式下使用 Facebook sdk 共享数据时崩溃【英文标题】:android app crashes on first attempt to share data using Facebook sdk in release mode 【发布时间】:2013-12-28 06:17:00 【问题描述】:

我希望用户将一些细节从 android 应用程序分享到 Facebook 墙。我为此使用 facebook-android-sdk-3.6.0。

我已经在 Facebook 开发者控制台中配置了调试密钥和发布密钥,并在 proguard-project.txt 中完成了所需的更改(用于发布构建)。 proguard-project.txt 包括,

-keep class com.facebook.**  *; 
-keepattributes Signature

现在,我在这里面临的问题是,共享内容在调试模式下运行良好,但在发布模式下,第一次尝试共享会使应用程序崩溃。这发生在最初的一两次尝试中(这也是随机的,有时根本不会崩溃),之后效果很好。

错误logcat如下,

12-28 11:32:39.101: E/AndroidRuntime(13039): FATAL EXCEPTION: Timer-1
12-28 11:32:39.101: E/AndroidRuntime(13039): com.facebook.aq: com.facebook.c.f got an unexpected method signature: public abstract java.lang.Object com.facebook.c.c.a(java.lang.String)
12-28 11:32:39.101: E/AndroidRuntime(13039):    at com.facebook.c.h.a(Unknown Source)
12-28 11:32:39.101: E/AndroidRuntime(13039):    at com.facebook.c.f.b(Unknown Source)
12-28 11:32:39.101: E/AndroidRuntime(13039):    at com.facebook.c.f.invoke(Unknown Source)
12-28 11:32:39.101: E/AndroidRuntime(13039):    at $Proxy0.a(Native Method)
12-28 11:32:39.101: E/AndroidRuntime(13039):    at com.facebook.b.ab.a(Unknown Source)
12-28 11:32:39.101: E/AndroidRuntime(13039):    at com.facebook.b.ab.a(Unknown Source)
12-28 11:32:39.101: E/AndroidRuntime(13039):    at com.facebook.f.run(Unknown Source)
12-28 11:32:39.101: E/AndroidRuntime(13039):    at java.util.Timer$TimerImpl.run(Timer.java:284)

有解决此问题的建议吗?

【问题讨论】:

【参考方案1】:

我自己解决了这个问题。对于那些可能面临这个奇怪问题的人来说,问题似乎出在 Facebook-android-sdk-3.6.0 上。花了几个小时来解决这个问题,我尝试了 3.5 版,但同样没有帮助。最后,我尝试了 facebook-android-sdk-3.0.2 并且效果很好。我的应用程序现已启动,可在 google play 中使用 :) https://play.google.com/store/apps/details?id=com.trident.holybible

【讨论】:

感谢分享。所以你只是通过使用 3.0.2 SDK 来修复它?你知道它现在是否在 3.7 中修复了吗? 是的。我用的是 3.0.2。虽然,3.6 提供了更好的外观和感觉,但我选择坚持使用 3.0.2。不幸的是,我没有机会查看 3.7 是否有效。

以上是关于android 应用程序在首次尝试在发布模式下使用 Facebook sdk 共享数据时崩溃的主要内容,如果未能解决你的问题,请参考以下文章

如何在首次运行时填充 Android Room 数据库表?

如何在首次加载应用程序时隐藏主弹出视图?

UIDocumentInteractionController 操作/选项菜单在首次启动时不可见

如何使用 SwiftUI 在首次应用启动时启动教程?

StreamBuilder ListView 在首次加载时从 Firestore 返回空列表

iOS 8 和 Cordova:应用程序在首次启动时立即请求推送通知权限