Java 如果添加Games.API,应用程序将崩溃

Java 如果添加Games.API,应用程序将崩溃,java,android-studio,google-play-services,google-play-games,google-api-client,Java,Android Studio,Google Play Services,Google Play Games,Google Api Client,基本上,GoogleAppClient能够连接。但是如果我将Games.API添加到APIclient,则会出现一些未捕获的异常。我几乎到处找,但似乎没有人有这个问题。一旦我从构建器中删除Games.API,它就会正常连接。 但是我需要Games.API在我的游戏中包括排行榜。 谁能帮帮我吗 日志: 07-09 00:43:19.709 14636-14636/? W/dalvikvm﹕ threadid=1: thread exiting with uncaught exception (g

基本上,GoogleAppClient能够连接。但是如果我将Games.API添加到APIclient,则会出现一些未捕获的异常。我几乎到处找,但似乎没有人有这个问题。一旦我从构建器中删除Games.API,它就会正常连接。 但是我需要Games.API在我的游戏中包括排行榜。 谁能帮帮我吗

日志:

07-09 00:43:19.709  14636-14636/? W/dalvikvm﹕ threadid=1: thread exiting with uncaught exception (group=0x418c49a8)
07-09 00:43:19.709  14636-14636/? W/dalvikvm﹕ threadid=1: uncaught exception occurred
07-09 00:43:19.709  14636-14636/? W/System.err﹕ java.lang.IllegalStateException: A fatal developer error has occurred. Check the logs for further information.
07-09 00:43:19.724  14636-14636/? W/System.err﹕ at com.google.android.gms.common.internal.zzi$zza.zzc(Unknown Source)
07-09 00:43:19.724  14636-14636/? W/System.err﹕ at com.google.android.gms.common.internal.zzi$zza.zzr(Unknown Source)
07-09 00:43:19.724  14636-14636/? W/System.err﹕ at com.google.android.gms.common.internal.zzi$zzc.zznQ(Unknown Source)
07-09 00:43:19.724  14636-14636/? W/System.err﹕ at com.google.android.gms.common.internal.zzi$zzb.handleMessage(Unknown Source)
07-09 00:43:19.724  14636-14636/? W/System.err﹕ at android.os.Handler.dispatchMessage(Handler.java:107)
07-09 00:43:19.724  14636-14636/? W/System.err﹕ at android.os.Looper.loop(Looper.java:194)
07-09 00:43:19.724  14636-14636/? W/System.err﹕ at android.app.ActivityThread.main(ActivityThread.java:5405)
07-09 00:43:19.724  14636-14636/? W/System.err﹕ at java.lang.reflect.Method.invokeNative(Native Method)
07-09 00:43:19.724  14636-14636/? W/System.err﹕ at java.lang.reflect.Method.invoke(Method.java:525)
07-09 00:43:19.724  14636-14636/? W/System.err﹕ at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:838)
07-09 00:43:19.724  14636-14636/? W/System.err﹕ at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:605)
07-09 00:43:19.724  14636-14636/? W/System.err﹕ at dalvik.system.NativeStart.main(Native Method)
07-09 00:43:19.724  14636-14636/? W/dalvikvm﹕ threadid=1: calling UncaughtExceptionHandler
07-09 00:43:19.725  14636-14636/? E/AndroidRuntime﹕ FATAL EXCEPTION: main
    java.lang.IllegalStateException: A fatal developer error has occurred. Check the logs for further information.
            at com.google.android.gms.common.internal.zzi$zza.zzc(Unknown Source)
            at com.google.android.gms.common.internal.zzi$zza.zzr(Unknown Source)
            at com.google.android.gms.common.internal.zzi$zzc.zznQ(Unknown Source)
            at com.google.android.gms.common.internal.zzi$zzb.handleMessage(Unknown Source)
            at android.os.Handler.dispatchMessage(Handler.java:107)
            at android.os.Looper.loop(Looper.java:194)
            at android.app.ActivityThread.main(ActivityThread.java:5405)
            at java.lang.reflect.Method.invokeNative(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:525)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:838)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:605)
            at dalvik.system.NativeStart.main(Native Method)
舱单:

  <meta-data android:name="com.google.android.gms.games.APP_ID"
            android:value="480680880602" />
        <meta-data
            android:name="com.google.android.gms.appstate.APP_ID"
            android:value="480680880602" />

        <meta-data
            android:name="com.google.android.gms.version"
            android:value="@integer/google_play_services_version" />

游戏链接:

我也有同样的问题。我使用Eclipse作为IDE,Eclipse将访问AndroidManifest以检查
minSdkVersion
targetSdkVersion
。我不知道确切的原因,但是如果
targetSdkVersion
大于19,那么
Games.API
将起作用。因此:

  • 将Google Play Service从
    ANDROID_HOME/sdk/extras/Google/Google_Play_services/libproject/Google-Play-services_lib
    复制到项目的同一文件夹(实际上是同一硬盘分区)
  • 将Google Play服务的AndroidManifest.xml文件和您的项目也更改为

  • 如果异常继续显示,或者您正在使用Android Studio。您可以尝试将设备上的google play service sdk和google play service升级到最新版本()

    可能不是解决问题的完整方案,但问题的一部分肯定是您正在将应用程序id硬编码到清单中。那不行。刚试过,我也遇到同样的问题

    您需要使用“@string/app_id”来引用res/values/something.xml文件

    <meta-data android:name="com.google.android.gms.games.APP_ID" android:value="@string/app_id" />
    
    **如果将如下所示的app_id的值添加到/res/values/strings.xml文件中,这将起作用

    <meta-data android:name="com.google.android.gms.games.APP_ID" android:value="@string/app_id" />
    
    
    
    这将不起作用

    <meta-data android:name="com.google.android.gms.games.APP_ID" android:value="123456789" />
    
    
    
    In/res/values/strings.xml

    <resources>
        <string name="app_id">123456789</string>
    </resources>
    
    
    123456789
    

    即使你将AppIdIn放入/RES/Value/Fiel.xml中,如果它不是一个有效的AppID,也会得到相同的崩溃。

    你可以考虑只使用一个单独的GoGoLePiCiLeIt用于游戏API。Google Play Games生命周期(用户从Google Play Games登录和注销)可以(或者应该,根据Google:)在某种程度上独立于游戏的其他交互,因此将与其他Google API的生命周期分开。不能说它是否真的对您的异常有帮助,但它可能值得尝试,并且在任何情况下都可能是一个很好的设计更改。尝试过,但仍然徒劳。同样的问题仍然存在,没有想法。在发生错误时,日志中是否还有其他可能相关的内容?你发布的内容看起来只是你的应用程序流程。我不知道你是否能够取得进展,但我遇到了这个问题,这可能会帮助你解决问题:你的部分问题是你无法将应用程序id硬编码到清单中。我发现这个讨论是因为我和你的错误完全一样。我有一个无效的应用程序id,它导致了崩溃。没有正确定义的应用程序id也会导致此崩溃。需要在res/values中定义它。您保存了我的一天…:)