Androidx and databinding

后端 未结 6 1885
悲&欢浪女
悲&欢浪女 2020-12-10 12:50

I\'m migrating my dependencies for an Android P test to the androidx dependencies. For some not very clear reasons my project does not compile anymore (and no I won\'t provi

相关标签:
6条回答
  • 1- Add this line into build.gradle

    android {
    
        dataBinding {
            enabled = true
        }
    
    }
    

    2- gradle.properties(Project Properties)

    android.databinding.enableV2=true
    
    0 讨论(0)
  • 2020-12-10 13:38

    Check Layout files maybe there are Views left which use support library instead of androidx for example

    <android.support.constraint.ConstraintLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent">
    

    change it to

    <androidx.constraintlayout.widget.ConstraintLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent">
    
    0 讨论(0)
  • 2020-12-10 13:39

    I tried that while I had a weak internet connection, so I skipped to update to Android Studio 3.2. That was my fault. With that upgrade (the unziping took almost an hour no idea why) I was requested also to upgrade my build tools to com.android.tools.build:gradle:3.2.0-beta04 (or whatever is the newest version matching for your Android Studio version (I would not install the 3.3.0-alpha03) and upgraded the gradle wrapper to 4.6.

    Now the dependencies are gone and I'm happy.

    0 讨论(0)
  • 2020-12-10 13:43

    Enabling AndroidX in the gradle.properties fixed this problem for me:

    android.useAndroidX=true
    android.enableJetifier=true
    

    See https://developer.android.com/jetpack/androidx#using_androidx:

    android.useAndroidX: When set to true, the Android plugin uses the appropriate AndroidX library instead of a Support Library. The flag is false by default if it is not specified.
    android.enableJetifier: When set to true, the Android plugin automatically migrates existing third-party libraries to use AndroidX by rewriting their binaries. The flag is false by default if it is not specified.

    0 讨论(0)
  • 2020-12-10 13:45

    I face the similar problem, the Data Binding library use the support library, some classes may conflict with the AndroidX. I have to remove the DataBinding for now.

    I just read this release note, it said that this issue had been fixed, but I didn't see the effect.

    0 讨论(0)
  • 2020-12-10 13:52

    In my case, the error was because the tool to migrate to AndroidX does not work perfectly. There was still some layout files using some old support libraries. After fixing those files, everything went well =)

    To fix, every support library that was being used in those layout files, I changed to the right one following this link: https://developer.android.com/jetpack/androidx/migrate

    0 讨论(0)
提交回复
热议问题