It looks like material3 deprecated and hid this fu...
# compose-android
e
It looks like material3 deprecated and hid this function
TextFieldDefaults.outlinedTextFieldColors
which is causing ABI issues when using the latest Android artifacts with compose-multiplatform. Is it worth filing an issue, or is that what I get for overriding the version that compose-multiplatform is using?
👍 1
l
It looks like it was deprecated and replaced with a new overload with different parameters. What specifically are the issues you are seeing?
e
Because it's deprecated and hidden, it's causing an ABI issue when using that function from compose-multiplatform
i.e. the Android target can't build because it can't find that function, but there's no indication of that in the IDE because compose-multiplatform is using an older version of material 3
l
If this is in source, can you not just update the material3 dependency in compose-multiplatform, and change the function to the new one?
e
They don't have a version available yet that uses the updated material 3 source
l
If you are using a prebuilt though, it should still correctly point to the deprecated / hidden method in bytecode
To clarify: you are using: compose-multiplatform prebuilt that was compiled against an older version of material3 manually using a newer version of material3 in your project
e
Yes, but specifically only using a newer version of material3 for the android source set
l
Well maybe there was an actual separate breaking change here to binary compatibility outside of just deprecating it as hidden, not exactly sure, but in any case to your question:
> or is that what I get for overriding the version that compose-multiplatform is using?
Pretty much, by design there is no guarantee of compatibility with experimental APIs - so if you mix and match libraries that are compiled against experimental APIs, there is no guarantee that it works - and that is working as intended
e
Thought so, but just wanted to double check. Thanks!
128 Views