Я внедряю библиотеку Android Layer-xdk и столкнулся с небольшим затруднением. При сборке я получаю следующую ошибку:
error: cannot find symbol public final android.support.constraint.ConstraintLayout root;
Ошибка вызвана сгенерированным классом в библиотеке слоев с именем XdkUiMessageModelVhDefaultVBinding.java
и это строка, вызывающая ошибку:
public final android.support.constraint.ConstraintLayout root;
Если вы наведите курсор мыши на ConstraintLayout, который красный, он говорит: «Не удается разрешить символ ConstraintLayout».
Этот класс создается библиотекой привязки данных Android из xml xdk_ui_message_model_vh_default.xml
, который использует макет противопоказаний для androidX
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/root"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/xdk_ui_message_model_vh_avatar_padding"
android:layout_marginLeft="@dimen/xdk_ui_message_model_vh_avatar_padding"
android:layout_marginRight="@dimen/xdk_ui_message_model_vh_avatar_padding"
android:layout_marginStart="@dimen/xdk_ui_message_model_vh_avatar_padding"
android:layout_marginTop="@dimen/xdk_ui_message_model_vh_padding"
android:layout_marginBottom="@dimen/xdk_ui_message_model_vh_padding"
android:duplicateParentState="true" android:tag="layout/xdk_ui_message_model_vh_default_0" xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools">
как ни странно, макет ограничения является корневым элементом. Я думал, что <layout>
должен быть корневым элементом с <data>
родственным элементом для корневого макета пользовательского интерфейса, чтобы класс Binding был сгенерирован правильно. Я, возможно, неправильно понял эту часть, хотя.
Есть ли способ, которым я могу заставить любой сборочный или генерирующий код использовать androidX?
Или, если у кого-либо есть какая-либо уточняющая информация о том, что является причиной проблемы, я был бы очень признателен.