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
- Change the field type to one supported by SafeParcel (e.g. HashMap instead of a custom collection)
- 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.