Я вижу кучу устаревших элементов в вашем Gradle.
Вам нужно переместить Android Studio на 3.2.(это стабильно
Также ваша версия kotlin должна быть 1.2.70+ (не используйте 1.2.71), в ней есть ошибки. Серьезно, это приведет к частому зависанию Android Studio.
ваши инструменты сборки Gradle также должны быть в диапазоне 3.2.0+.
Убедитесь, что у вашего пакета в gradle-wrapper.properties есть DistributionUrl 4.10-all или новее
Ваша зависимость jre должна бытьудалена в пользу или зависимость jdk
Ваша версия jre 7, вам нужно обновить до 8.
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version"
В макете ограничения есть 2.0.0-alpha2, если вы идете немного впередно не требуется.
пример текущих зависимостей androidx на дату публикации.
//Android Google Libraries
implementation 'androidx.appcompat:appcompat:1.0.0'
implementation 'com.google.android.material:material:1.0.0'
implementation 'androidx.appcompat:appcompat:1.0.0'
implementation 'androidx.legacy:legacy-support-v4:1.0.0'
implementation 'androidx.cardview:cardview:1.0.0'
implementation 'androidx.recyclerview:recyclerview:1.0.0'
implementation "androidx.constraintlayout:constraintlayout:2.0.0-alpha2"
Также звучит так, как будто вы уже использовали, но подтвердите, что у вас есть gradle.propertiesс
android.enableJetifier=true
android.useAndroidX=true
Jetifier попытается сделать ваши зависимости совместимыми с androidX.Наконец, если у вас слишком много проблем, при обновлении до androidX удалите изменения, получите его компиляцию из версиина контроле в хорошем месте.Затем используйте инструмент миграции в 3.2.Он делает довольно хорошую работу и оставляет только несколько незначительных ошибок для очистки.
Также стоит отметить, что вам, возможно, придется перейти к каждому XML-файлу и убедиться, что на новые пространства имен ссылаются должным образом, как RecyclerView должен показатьновое пространство имен androidx в вашем xml.То же самое, когда вы ссылаетесь на них в своем коде.
Я недавно обновил все свои проекты до androidX, и первый проект потребовал проб и ошибок, второй я использовал инструмент миграции, и это сделало мою жизнь намного более гладкой.
Причина, по которой удаление привязки данных работает для вас, заключается в том, что она пытается встроить объекты «неправильного пространства имен» в ваши файлы, сгенерированные привязкой данных.Вам необходимо просмотреть и исправить каждый xml-файл, чтобы использовать правильные пространства имен в ваших виджетах Android и элементах Framework.
Я приведу пример действия с ящиком.
<data>
<variable name="activity" type="com.a35.activities.MainActivity"/>
<variable name="iBindingRecyclerView" type="com.a35.interfaces.IBindingRecyclerView"/>
</data>
<androidx.drawerlayout.widget.DrawerLayout
android:id="@+id/drawerLayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="false"
tools:openDrawer="start">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<!--TOP TOOLBAR-->
<include
android:id="@+id/toolbarMain"
layout="@layout/toolbar_main"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
<!--TOP BLACK LINE-->
<View
android:id="@+id/vRedLine"
android:layout_width="match_parent"
android:layout_height="@dimen/dp_2"
android:background="@color/black" />
<!-- FrameLayout is used to insert fragments to display -->
<FrameLayout
android:id="@+id/fragPlaceholder"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior" />
</LinearLayout>
<com.google.android.material.navigation.NavigationView
android:id="@+id/nav_view"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="start"
android:fitsSystemWindows="true"
android:background="@color/colorPrimary">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<include layout="@layout/nav_drawer_header"
android:id="@+id/navHeader"/>
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/lstMenuItems"
android:layout_below="@+id/navHeader"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:bindRcvInterface="@{iBindingRecyclerView}"
app:bindRcvList="@{activity.getDrawerItemList}"/>
<ImageView
android:id="@+id/imgBottomLogo"
android:layout_width="@dimen/dp_160"
android:layout_height="@dimen/dp_35"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:layout_marginBottom="@dimen/dp_35"
android:src="@drawable/my_logo" />
</RelativeLayout>
</com.google.android.material.navigation.NavigationView>
</androidx.drawerlayout.widget.DrawerLayout>