gpt4 book ai didi

android - java.lang.NoClassDefFoundError : android. databinding.DataBinderMapperImpl 运行 Espresso 测试时

转载 作者:IT老高 更新时间:2023-10-28 13:42:36 24 4
gpt4 key购买 nike

数据绑定(bind)设置:

apply plugin: 'kotlin-kapt'

android {
dataBinding {
enabled = true
}
}

dependencies {
kapt "com.android.databinding:compiler:3.1.0"
}

使用数据绑定(bind)的 fragment 类:

class LandingFragment : Fragment(), Injectable {

override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?): View? {
val dataBinding = LandingFragmentBinding.inflate(inflater, container, false)
return dataBinding.root
}
}

每次为此 fragment 运行 Espresso 测试时,我都会收到以下异常:

java.lang.NoClassDefFoundError: android.databinding.DataBinderMapperImpl
at android.databinding.DataBindingUtil.<clinit>(DataBindingUtil.java:32)
at com.sc.databinding.LandingFragmentBinding.inflate(LandingFragmentBinding.java:42)
at com.sc.ui.landing.LandingFragment.onCreateView(LandingFragment.kt:32)
...

最佳答案

有点晚了,但我通过添加带有 kapt 的 DataBinding 编译器作为测试依赖项解决了这个问题:

kaptAndroidTest 'androidx.databinding:databinding-compiler:3.3.2'

如果您的项目还没有使用 Jetpack,则不是来自 AndroidX 的版本。

关于android - java.lang.NoClassDefFoundError : android. databinding.DataBinderMapperImpl 运行 Espresso 测试时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49654231/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com