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 共享数据时崩溃的主要内容,如果未能解决你的问题,请参考以下文章
UIDocumentInteractionController 操作/选项菜单在首次启动时不可见