相关疑难解决方法(0)

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

数据绑定设置:

apply plugin: 'kotlin-kapt'

android {
    dataBinding {
        enabled = true
    }
}

dependencies {
    kapt "com.android.databinding:compiler:3.1.0"
}
Run Code Online (Sandbox Code Playgroud)

使用数据绑定的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
    }
}
Run Code Online (Sandbox Code Playgroud)

每次为此片段运行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)
...
Run Code Online (Sandbox Code Playgroud)

data-binding android kotlin android-espresso

9
推荐指数
2
解决办法
2007
查看次数

标签 统计

android ×1

android-espresso ×1

data-binding ×1

kotlin ×1