Was there an ABI incompatible change underlying th...
# compose
e
Was there an ABI incompatible change underlying the primitive
mutableStateOf
functions in 1.6.0 alphas? I have an Android app that is using a library built with KMP Compose 1.5.0-beta01 which redirects android dependencies to use 1.5.0-beta03 Jetpack artifacts. I have a call to
mutableIntStateOf
in the library's common code which works fine in the Android app if I don't touch the compose versions. If I force the Android app to use 1.6.0-alpha02 Jetpack artifacts it crashes with
java.lang.NoClassDefFoundError: Failed resolution of: Landroidx/compose/runtime/PrimitiveSnapshotStateKt
🚨 2
a
Only ABI of
mutableFloatStateOf
was changed.
e
Yup that's the one 😓
Turns out I have
mutableFloatStateOf
as well
a
the signature of a function added in 1.5 alpha or beta can still change until it is fully frozen in rc or stable. so the library should be recompiled with a newer version of 1.5
🙏 1
e
In this case it's a little more complicated than recompiling the library since it's coming from compose-multiplatform. I happen to own the library and I'm fine with forcing a newer version for Android, but other libraries might not be willing to. Cc @Igor Demin if you think there's anything that could be improved here