microg/GmsCore · error · RuntimeException

Type is not yet usable with SafeParcelReflectionUtil:

Error message

Type is not yet usable with SafeParcelReflectionUtil: 

What it means

Sentinel guard in SafeParcelReflectionUtil.getType: the field's Java class matches none of the types SafeParcel can serialize (primitives, wrappers, String, Parcelable, Binder, Map, etc.). The unsupported class name is appended; this is a static descriptor-construction error, not a runtime data problem.

Source

Thrown at play-services-basement/src/main/java/org/microg/safeparcel/SafeParcelReflectionUtil.java:534

                if (clazz == Map.class || clazz == HashMap.class)
                    return SafeParcelType.Map;
                if (clazz == int.class || clazz == Integer.class)
                    return SafeParcelType.Integer;
                if (clazz == short.class || clazz == Short.class)
                    return SafeParcelType.Short;
                if (clazz == boolean.class || clazz == Boolean.class)
                    return SafeParcelType.Boolean;
                if (clazz == long.class || clazz == Long.class)
                    return SafeParcelType.Long;
                if (clazz == float.class || clazz == Float.class)
                    return SafeParcelType.Float;
                if (clazz == double.class || clazz == Double.class)
                    return SafeParcelType.Double;
                if (clazz == byte.class || clazz == Byte.class)
                    return SafeParcelType.Byte;
                if (clazz == java.lang.String.class)
                    return SafeParcelType.String;
                throw new RuntimeException("Type is not yet usable with SafeParcelReflectionUtil: " + clazz);
            }
        }
    }
}

View on GitHub (pinned to 157c9d86ac)

Solutions

  1. Change the field type to one supported by SafeParcel (e.g. HashMap instead of a custom collection)
  2. Convert the unsupported type to a supported representation (String, byte[], Parcelable) before parcelling
Defensive patterns

Strategy: type-guard

When it happens

Trigger: Thrown at play-services-basement/src/main/java/org/microg/safeparcel/SafeParcelReflectionUtil.java:534 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of microg/GmsCore@157c9d86ac (2026-09-06). Data as JSON: /api/errors/347643b658acd08c. Report an issue: GitHub.