2

I'm messing around with this problem about 10h and i cann't figure out what i've done wrong....

The 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)

The Log does not provide any important information


I was looking around google, i could fix some errors. But the App always crashes here:

achievements.googleApiClient.connect();

MainActivity (important parts):

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>

Sebastian Schneider
  • 4,896
  • 3
  • 20
  • 47

2 Answers2

1

Looked around the community for similar posts and found this answer, check it out. Gonna go straight to the point, I think the cause of this issue is in your AndroidManifest.xml. As mentioned in the answer, the <meta-data> tag should be added, yours is there, but the name is different. It shows as:

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

while in the answer above, it shows:

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

Went to the Google Quickstart samples and notice that all of the tags are like the above. Haven't seen anything else in your code that's causing the issue.

Nimantha
  • 6,405
  • 6
  • 28
  • 69
AL.
  • 36,815
  • 10
  • 142
  • 281
0

I believe this might be related to missing the com.google.android.gms.games.APP_ID metadata element in your AndroidManifest.xml

It looks like a typo (you replaced APP_ID with your package name?). It should be: <meta-data android:name="com.google.android.gms.games.APP_ID" android:value="@string/app_id" />

You can refer to TypeANumber basic sample's AndroidManifest.xml https://github.com/playgameservices/android-basic-samples/blob/master/BasicSamples/TypeANumber/src/main/AndroidManifest.xml#L41

Clayton Wilkinson
  • 4,524
  • 1
  • 16
  • 25