gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-02 04:24:29 25 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 - 运行 Espresso 测试时的 java.lang.NoClassDefFoundError : android. databinding.DataBinderMapperImpl,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56050709/

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