Androidx和数据绑定

rek*_*ire 12 android android-support-library android-databinding android-architecture androidx

我正在将Android P测试的依赖项迁移到androidx依赖项.由于一些不太清楚的原因,我的项目不再编译(并且我不会提供细节以避免明显的问题).我发现(通过gradlew dependencies)数据绑定使用"oldschool"依赖android.arch.lifecycle:runtime:1.0.3而不是androidx.lifecycle:lifecycle-runtime:2.0.0-beta01.我想这可能是一个原因.

知道如何强制使用新的包名/依赖项吗?

Phi*_*ann 6

gradle.properties为我启用AndroidX可以解决此问题:

android.useAndroidX=true
android.enableJetifier=true
Run Code Online (Sandbox Code Playgroud)

参见https://developer.android.com/jetpack/androidx#using_androidx

android.useAndroidX:当设置为true时,Android插件将使用适当的AndroidX库而不是支持库。如果未指定,默认情况下该标志为false。
android.enableJetifier:设置为true时,Android插件会通过重写二进制文件来自动迁移现有的第三方库以使用AndroidX。如果未指定,默认情况下该标志为false。


Yu *_*Lee 5

我面临类似的问题,Data Binding库使用支持库,某些类可能与AndroidX. 我现在必须删除DataBinding

我刚刚阅读了这个发行说明,它说这个问题已经修复,但我没有看到效果。


rek*_*ire 2

我在互联网连接较弱的情况下进行了尝试,因此我跳过更新到 Android Studio 3.2。那是我的错。通过这次升级(解压缩花了将近一个小时,不知道为什么),我还被要求将我的构建工具升级到com.android.tools.build:gradle:3.2.0-beta04(或者与您的 Android Studio 版本匹配的最新版本(我不会安装3.3.0-alpha03),并将 gradle 包装器升级到4.6.

现在依赖性消失了,我很高兴。