我已经在我的游戏中设置了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文件夹
我很困惑,并尝试了我能找到的一切。
由于
答案 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" />