Google Play游戏服务会随着所添加的内容而崩溃

时间:2014-10-23 22:46:14

标签: java android google-play-services google-play-games

我已经在我的游戏中设置了Google Play游戏服务,但它看起来不起作用。每次运行应用程序时,应用程序都会崩溃。我一直在网上搜索修复但没有任何工作。

我在这里设置了元数据:

<application
    android:allowBackup="true"
    android:icon="@drawable/logo"
    android:label="@string/app_name"
    android:theme="@android:style/Theme.NoTitleBar" >
    <meta-data android:name="com.google.android.gms.APP_ID"
    android:value="@string/app_id" />
    <meta-data android:name="com.google.android.gms.appstate.APP_ID"
    android:value="@string/app_id" />
    <meta-data android:name="com.google.android.gms.version"
    android:value="@integer/google_play_services_version" />
    <activity
        android:name=".MainActivity"
        android:label="@string/app_name" >

此外,我已添加互联网并获得帐户权限:

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.GET_ACCOUNTS" />

我已经通过Android标签导入了所有内容,并添加了库。

之前,我有Java Build Path库并将其删除以尝试解决此问题。

要打电话给我,我在这里初始化GoogleApiClient:

client = new GoogleApiClient.Builder(this)
            .addConnectionCallbacks(this)
            .addOnConnectionFailedListener(this)
            .addApi(Plus.API).addScope(Plus.SCOPE_PLUS_LOGIN)
            .addApi(Games.API).addScope(Games.SCOPE_GAMES)
            .build();

我用client.connect();方法连接。

从LogCat我收到包裹中的消息:

10-23 18:23:39.239: E/AndroidRuntime(23686): FATAL EXCEPTION: main
10-23 18:23:39.239: E/AndroidRuntime(23686): Process: com.ajayinkingston.tapthatsquare, PID: 23686
10-23 18:23:39.239: E/AndroidRuntime(23686): java.lang.IllegalStateException: A fatal developer error has occurred. Check the logs for further information.
10-23 18:23:39.239: E/AndroidRuntime(23686):    at com.google.android.gms.common.internal.d$h.b(Unknown Source)
10-23 18:23:39.239: E/AndroidRuntime(23686):    at com.google.android.gms.common.internal.d$h.g(Unknown Source)
10-23 18:23:39.239: E/AndroidRuntime(23686):    at com.google.android.gms.common.internal.d$b.gU(Unknown Source)
10-23 18:23:39.239: E/AndroidRuntime(23686):    at com.google.android.gms.common.internal.d$a.handleMessage(Unknown Source)
10-23 18:23:39.239: E/AndroidRuntime(23686):    at android.os.Handler.dispatchMessage(Handler.java:102)
10-23 18:23:39.239: E/AndroidRuntime(23686):    at android.os.Looper.loop(Looper.java:136)
10-23 18:23:39.239: E/AndroidRuntime(23686):    at android.app.ActivityThread.main(ActivityThread.java:5001)
10-23 18:23:39.239: E/AndroidRuntime(23686):    at java.lang.reflect.Method.invokeNative(Native Method)
10-23 18:23:39.239: E/AndroidRuntime(23686):    at java.lang.reflect.Method.invoke(Method.java:515)
10-23 18:23:39.239: E/AndroidRuntime(23686):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785)
10-23 18:23:39.239: E/AndroidRuntime(23686):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601)
10-23 18:23:39.239: E/AndroidRuntime(23686):    at dalvik.system.NativeStart.main(Native Method)

如果我查看所有消息,我会事先看到一条消息说:

10-23 18:23:38.569: E/ValidateServiceOp(14255): Using Google Play games services requires a metadata tag with the name "com.google.android.gms.games.APP_ID" in the application tag of the manifest for com.ajayinkingston.tapthatsquare

我的app_id位于res / values中的strings.xml文件夹中。它是在games-ids.xml中,但我试图修复它。

<string name="app_id">************</string>
<string name="achievement_wow_great_start">code here</string>
<string name="achievement_fast_i_want_to_play_fast">code here</string>
<string name="achievement_first_try">code here</string>
<string name="achievement_bonus">code here</string>
<string name="achievement_expert">code here</string>
<string name="leaderboard_highscore">code here</string>

我还尝试将所有内容移动到新工作区并删除bin / gen文件夹

我很困惑,并尝试了我能找到的一切。

由于

1 个答案:

答案 0 :(得分:1)

我发现自己犯了一个错字。对于我输入的清单

<meta-data android:name="com.google.android.gms.APP_ID"
        android:value="@string/app_id" />

但你必须添加games

<meta-data android:name="com.google.android.gms.games.APP_ID"
        android:value="@string/app_id" />