У меня простой проект с MotionLayout. Есть панель поиска, которая изменяет состояние MotionLayout с помощью метода setProgress ().
Когда я развертываю APK по умолчанию, все работает, дочерний вид перемещается. Если я использую развертывание «APK из пакета приложений», MotionLayout не работает (дочернее представление не перемещается), например, отсутствует описание layoutDescription.
Пример проекта здесь.
Версия MotionLayout:
'com.android.support.constraint:constraint-layout:2.0.0-alpha2'
Когда я устанавливаю "apk по умолчанию", все работает нормально. Когда я развертываю пакет приложений в Google Play и устанавливаю приложение - макет движения не работает. Я воспроизвел эту проблему в этом проекте, просто переключите развертывание в «параметрах установки» на «APK из пакета приложений».
если вы используете proguard, используйте класс -keep для MotionLayoutUtils для детали guardsquare.com/en/products/dexguard
У меня такая же проблема, если вы создаете APK вместо .aab. Он должен работать нормально.
Что вы имеете в виду под «не работает»? Это вылетает? Отображает ли что-то неожиданное? Можете быть более конкретными? Можете ли вы посмотреть в logcat, если в вашем приложении есть ошибки?
Я обновил свой вопрос и упростил пример проекта. Чего-то странного в логах не наблюдал.
Это должно быть исправлено в ConstraintLayout alpha 3: https://twitter.com/johnhoford/status/1061001715481079808
Похоже, что в последних версиях gradle (3.5.0) это было исправлено, и проблема решена.
Что происходит при установке apk? Вылетает ли он, и вы получаете какие-нибудь логи?