发送邀请后 Google Play 游戏服务崩溃

Posted

技术标签:

【中文标题】发送邀请后 Google Play 游戏服务崩溃【英文标题】:Google Play Game Services crashes after sending invite 【发布时间】:2013-05-30 07:18:39 【问题描述】:

我一直在使用 Google Play 游戏服务实现多人游戏,并且可以在客户端之间发送消息。 现在每次我发送邀请、登录和其他一切工作正常时,谷歌播放服务都会崩溃。 我的应用程序以及谷歌的多人游戏示例应用程序都会发生这种情况。 我认为崩溃是在 ADT 更新后开始的。

Logcat:

06-04 03:37:56.610: W/dalvikvm(2258): Exception Ljava/lang/UnsatisfiedLinkError; thrown while initializing Lcom/google/android/gms/games/jingle/Libjingle;
06-04 03:37:56.610: D/AndroidRuntime(2258): Shutting down VM
06-04 03:37:56.610: W/dalvikvm(2258): threadid=1: thread exiting with uncaught exception (group=0x41a1b930)
06-04 03:37:56.625: E/AndroidRuntime(2258): FATAL EXCEPTION: main
06-04 03:37:56.625: E/AndroidRuntime(2258): java.lang.ExceptionInInitializerError
06-04 03:37:56.625: E/AndroidRuntime(2258):     at ajd.<init>(SourceFile:361)
06-04 03:37:56.625: E/AndroidRuntime(2258):     at ajd.a(SourceFile:476)
06-04 03:37:56.625: E/AndroidRuntime(2258):     at ara.<init>(SourceFile:120)
06-04 03:37:56.625: E/AndroidRuntime(2258):     at com.google.android.gms.games.service.RealTimeMatchAndroidService.onBind(SourceFile:73)
06-04 03:37:56.625: E/AndroidRuntime(2258):     at android.app.ActivityThread.handleBindService(ActivityThread.java:2624)
06-04 03:37:56.625: E/AndroidRuntime(2258):     at android.app.ActivityThread.access$1800(ActivityThread.java:154)
06-04 03:37:56.625: E/AndroidRuntime(2258):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1377)
06-04 03:37:56.625: E/AndroidRuntime(2258):     at android.os.Handler.dispatchMessage(Handler.java:99)
06-04 03:37:56.625: E/AndroidRuntime(2258):     at android.os.Looper.loop(Looper.java:137)
06-04 03:37:56.625: E/AndroidRuntime(2258):     at android.app.ActivityThread.main(ActivityThread.java:5306)
06-04 03:37:56.625: E/AndroidRuntime(2258):     at java.lang.reflect.Method.invokeNative(Native Method)
06-04 03:37:56.625: E/AndroidRuntime(2258):     at java.lang.reflect.Method.invoke(Method.java:511)
06-04 03:37:56.625: E/AndroidRuntime(2258):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1102)
06-04 03:37:56.625: E/AndroidRuntime(2258):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:869)
06-04 03:37:56.625: E/AndroidRuntime(2258):     at dalvik.system.NativeStart.main(Native Method)
06-04 03:37:56.625: E/AndroidRuntime(2258): Caused by: java.lang.UnsatisfiedLinkError: Couldn't load games_rtmp_jni from loader dalvik.system.PathClassLoader[dexPath=/system/framework/com.android.location.provider.jar:/system/app/GmsCore.apk,libraryPath=/data/app-lib/GmsCore]: findLibrary returned null
06-04 03:37:56.625: E/AndroidRuntime(2258):     at java.lang.Runtime.loadLibrary(Runtime.java:365)
06-04 03:37:56.625: E/AndroidRuntime(2258):     at java.lang.System.loadLibrary(System.java:535)
06-04 03:37:56.625: E/AndroidRuntime(2258):     at com.google.android.gms.games.jingle.Libjingle.<clinit>(SourceFile:38)
06-04 03:37:56.625: E/AndroidRuntime(2258):     ... 15 more

【问题讨论】:

【参考方案1】:

您的构建系统可能正在生成缺少组件的 APK。我建议你从头开始重建你的开发环境(新的工作区、新的 IDE 安装、新的一切)。从头开始重建通常比查明错误的确切设置问题更容易。

    删除您的工作区 删除所有项目的 bin/、gen/、project.properties 等。总之,删除由 IDE 或构建系统生成的所有内容。 从全新的工作空间开始 将 Google Play 服务库项目导入新工作区 将 BaseGameUtils 导入工作区 添加 Google Play 服务库作为 BaseGameUtils 的参考 将您的项目导入工作区 确保您的项目正在引用 BaseGameUtils

尝试重新生成 APK。

【讨论】:

以上是关于发送邀请后 Google Play 游戏服务崩溃的主要内容,如果未能解决你的问题,请参考以下文章

在 iOS 上创建实时房间后,Google Play 游戏服务崩溃

Google Play 游戏服务 2017:如何邀请某人参加多人比赛?

Google Play 游戏服务的邀请对话框未显示任何朋友

取消 Google Play 游戏登录后 Facebook 登录崩溃(反之亦然)

带有 Google Play 游戏服务和 IntentService 的回合制安卓游戏

Google Play 服务 - Unity - 只能在 iOS 上邀请“最近的玩家”