Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Caused by: com.google.crypto.tink.shaded.protobuf.InvalidProtocolBufferException: Protocol message contained an invalid tag (zero)

When launching an activity my app crashes at getEncryptedSharedPrefs:

    if(getEncryptedSharedPrefs().getString("pinSettingsLogin", "")!!.isEmpty()){
        getEncryptedSharedPrefs().edit()
            .putString("pinSettingsLogin" , "0000")
            .apply()
    }

With this error:

Caused by: com.google.crypto.tink.shaded.protobuf.InvalidProtocolBufferException: Protocol message contained an invalid tag (zero).

Weird thing is, this if statement works on Android 10 and 11 but not on Android 12. This if statement is here because in the 'if' below I check if the pinSettingsLogin = 0000 so that It goes to a new activity by it self.

    if(getEncryptedSharedPrefs().getString("pinSettingsLogin", "").equals("0000")){
        val i = Intent(this, SettingsActivity::class.java)
        startActivity(i)
        overridePendingTransition(R.anim.slide_in_right, R.anim.slide_out_left)
    }
like image 861
mohammed_sajid Avatar asked Sep 13 '25 13:09

mohammed_sajid


2 Answers

This is a bug from EncryptedSharedPreferences, the issue happens on the initialization of the EncryptedSharedPreferences.

Check it out here

like image 118
Jimale Abdi Avatar answered Sep 15 '25 03:09

Jimale Abdi


Have you tried clearing the app's cache?

This might fix the problem!

like image 26
Jim Avatar answered Sep 15 '25 04:09

Jim