2016-04-03 5 views
2

Ich bin Herumspielen mit diesem Problem um 10h und i cann't herauszufinden, was ich falsch gemacht habe ....Android Absturz auf GooglePlayServices (Games) verbinden

Die Fatal Exception:

E/AndroidRuntime: FATAL EXCEPTION: main 
    Process: onl.deepspace.zoorallye, PID: 13256 
    java.lang.IllegalStateException: A fatal developer error has occurred. Check the logs for further information. 
    at com.google.android.gms.common.internal.zzj$zza.zzc(Unknown Source) 
    at com.google.android.gms.common.internal.zzj$zza.zzw(Unknown Source) 
    at com.google.android.gms.common.internal.zzj$zzc.zzqN(Unknown Source) 
    at com.google.android.gms.common.internal.zzj$zzb.handleMessage(Unknown Source) 
    at android.os.Handler.dispatchMessage(Handler.java:102) 
    at android.os.Looper.loop(Looper.java:135) 
    at android.app.ActivityThread.main(ActivityThread.java:5569) 
    at java.lang.reflect.Method.invoke(Native Method) 
    at java.lang.reflect.Method.invoke(Method.java:372) 
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:931) 
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:726) 

Die Log keine wichtigen Informationen


ich war auf der Suche rund um google liefert, könnte ich einige Fehler beheben. Aber die App immer Abstürze hier:

achievements.googleApiClient.connect();

MainActivity (wichtige Teile):

Achievements achievements; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    ... 

    //Init Achievements 
    achievements = new Achievements(this); 
    achievements.googleApiClient.connect(); //**AppCrash** 
} 

@Override 
protected void onStart() { 
    super.onStart(); 
} 

@Override 
protected void onStop() { 
    super.onStop(); 
    achievements.googleApiClient.disconnect(); 
}  

Achievements.java:

public class Achievements implements GoogleApiClient.OnConnectionFailedListener, GoogleApiClient.ConnectionCallbacks{ 

public GoogleApiClient googleApiClient; 
private Activity activity; 

public Achievements(Activity activity){ 
    this.activity = activity; 

    googleApiClient = new GoogleApiClient.Builder(activity) 
      .addConnectionCallbacks(this) 
      .addOnConnectionFailedListener(this) 
      .addApi(Games.API) 
      .addScope(Games.SCOPE_GAMES) 
      .build(); 
} 

private void signIn(GoogleApiClient signinClient) { 
    Intent signInIntent = Auth.GoogleSignInApi.getSignInIntent(signinClient); 
    activity.startActivityForResult(signInIntent, 0); 
} 

@Override 
public void onConnectionFailed(@NonNull ConnectionResult connectionResult) { 
    if(connectionResult.getErrorCode() == ConnectionResult.SIGN_IN_REQUIRED){ 
     signIn(Tools.getSigninClient(activity)); 
    } 
    Toast.makeText(activity, connectionResult.getErrorMessage(), Toast.LENGTH_SHORT).show(); 
    Log.e(Const.LOGTAG, connectionResult.getErrorMessage()); 
} 

@Override 
public void onConnected(@Nullable Bundle bundle) { 
    Log.i(Const.LOGTAG, "Play Service (Games) Connected"); 
} 

@Override 
public void onConnectionSuspended(int i) { 
} 
} 

AndroidManifest.xml:

 <?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
package="onl.deepspace.zoorallye"> 

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

<application 
    android:allowBackup="true" 
    android:icon="@mipmap/appicon" 
    android:label="@string/app_name" 
    android:supportsRtl="true" 
    android:theme="@style/AppTheme"> 

    <activity 
     android:name=".MainActivity" 
     android:label="@string/app_name" 
     android:theme="@style/AppTheme.Drawer"></activity> 

    <meta-data 
     android:name="com.google.android.gms.version" 
     android:value="@integer/google_play_services_version" /> 
    <meta-data 
     android:name="com.google.android.gms.games.onl.deepspace.zoorallye" 
     android:value="@string/google_app_id" /> 

</application> 

+0

Das im Fehler angegebene "Log" enthält keine wichtigen Informationen –

Antwort

1

Sah TypeANumber und fand diese answer, check it out. Ich gehe direkt auf den Punkt, ich denke, die Ursache dieses Problems ist in Ihrem AndroidManifest.xml. Wie in der Antwort erwähnt, sollte das <meta-data> Tag hinzugefügt werden, deins ist da, aber der Name ist anders. Es zeigt, wie:

android:name="com.google.android.gms.games.onl.deepspace.zoorallye"

während in der Antwort oben, es zeigt:

android:name="com.google.android.gms.games.APP_ID"

zum Google Quickstart samples Went und feststellen, dass alle Tags wie die oben sind. Habe in deinem Code nichts anderes gesehen, das das Problem verursacht. Hoffe das hilft. Viel Glück.

0

Ich glaube, das könnte damit zusammenhängen, dass das Metadatenelement com.google.android.gms.games.APP_ID in Ihrem AndroidManifest.xml fehlt

Es sieht aus wie ein Tippfehler (Sie haben APP_ID durch Ihren Paketnamen ersetzt?). Es sollte sein: <meta-data android:name="com.google.android.gms.games.APP_ID" android:value="@string/app_id" />

Sie verweisen AndroidManifest.xml Grund Probe https://github.com/playgameservices/android-basic-samples/blob/master/BasicSamples/TypeANumber/src/main/AndroidManifest.xml#L41 für ähnliche Beiträge rund um die Gemeinde

+0

Danke, ich werde es später an diesem Tag versuchen :) –