Я использую версию Compose Compose-Bom 2023.03.00, и когда я пытаюсь добавить последнюю версию модуля создания анимации (1.7.0-alpha07) с обновлением общих элементов, приложение вылетает при запуске с сообщением об ошибке.
java.lang.NoSuchMethodError: нет статического метода ограниченногоConstraints-xF2OJ5Q$default(Landroidx/compose/ui/unit/Constraints$Companion;IIIIZILjava/lang/Object;)J в классе Landroidx/compose/ui/unit/Constraints$Companion; или его суперклассы (объявление androidx.compose.ui.unit.Constraints$Companion появляется в /data/app/com.xx.xxxx-55o2y0IBA6N3Qr0mj4DgbQ==/base.apk
в androidx.compose.foundation.layout.RowColumnMeasurementHelper.measureWithoutPlacing-EkL-Y(RowColumnMeasurementHelper.kt:187) в androidx.compose.foundation.layout.RowColumnMeasurePolicy.measure-3p2s80s(RowColumnImpl.kt:69) в androidx.compose.ui.node.InnerNodeCoordinator.measure-BRTryo0(InnerNodeCoordinator.kt:135) в androidx.compose.foundation.layout.SizeNode.measure-3p2s80s(Size.kt:838)
Простое добавление самой зависимости приводит к сбою (без добавления каких-либо ShareElementsLayout и т. д.).
В примере приложения все работает нормально. Это связано с какими-либо проблемами совместимости с другими библиотеками компоновки? Как я могу найти проблему из-за проблем несовместимости?
Я попытался сопоставить версии зависимостей примера приложения (1.7.0-beta01 также имеет проблемы), но в нашем основном приложении есть и другие библиотеки.
Это также привело к такому же сбою.
@Левиафан Извините. Обновляется версиями.
Пожалуйста, предоставьте минимально воспроизводимый пример. «Просто добавление зависимости» работает нормально. Что еще нужно сделать, чтобы воспроизвести проблему?
@Левиафан, я постараюсь обновить, если возможно.
Если вы используете спецификацию, лучше всего позволить спецификации выбрать для вас правильную версию. Если вам нужны предварительные версии функций, вы можете попробовать — github.com/chrisbanes/compose-bom
Добавление реализации зависимости("androidx.compose.material:material:1.7.0-beta01") вместе с compose-animation 1.7.0 beta01, что, похоже, позволяет проекту работать без каких-либо проблем.
Я до сих пор не уверен насчет этой конкретной зависимости. Я попытался добавить библиотеку материалов: в файл bom.
А вот проект Филиппа Лакнера - https://github.com/philipplackner/SharedElementTransitionCompose/blob/master/gradle/libs.versions.toml
использует комбинацию стабильной версии с альфа-версией композиции, которая, похоже, работает нормально. Возможно, в моем проекте есть какие-то дополнительные зависимости, которые усугубляют эту проблему.
Скорее всего, несовместимость с разными версиями компоновки. Поскольку вы не указали, какую зависимость и какую версию вы используете (существуют разные последние версии, например стабильная/альфа), мы не можем сказать точно. Вы можете быть более конкретным?