android - 引入数据绑定(bind)后无法运行仪器测试

标签 android android-databinding

我得到了

警告:库类 android.databinding.DataBindingUtil 依赖于程序类 android.databinding.DataBindingComponent

我在将数据绑定(bind)引入我的项目后尝试运行 gradle 任务 assembleItestAndroidTest 时得到了这个。 (我有一个单独的用于仪器测试的构建配置,我称之为 itest,另外两个是调试和发布)

如何解决这个问题?

编辑:我认为这是一个 android-gradle 构建工具错误或 Android 数据绑定(bind)错误。我已经提交了 bug report向谷歌提供有关如何复制的完整说明。

这里的关键是构建类型被配置为运行缩小。因此,只要您依赖数据绑定(bind),除用于仪器测试的 debug 之外的任何构建类型都将失败。

对于任何将持续集成作为其生产周期不可或缺的一部分的公司来说,这几乎是一个阻碍,所以我希望 Google 优先考虑这一点。

最佳答案

尝试将以下内容添加到您的混淆器配置中:

-dontwarn android.databinding.**
-keep class <whatever your package name in AndroidManifest is>.databinding.** {
    <fields>;
    <methods>;
}

第一行去掉了警告,第二行告诉混淆器不要弄乱任何生成的类。

关于android - 引入数据绑定(bind)后无法运行仪器测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34069604/

相关文章:

android - Gradle 连接超时

android - AudioRecord - 如何将数据放入缓冲区?

安卓 : status bar color change for API level below 21

android - EditText LiveData 双向绑定(bind)

java - 数据绑定(bind) - EditText 的 maxLength 属性

android - Dagger 2 和 Android 数据绑定(bind)适配器 : cannot be provided without an @Inject or @Provides

android - 如何在 Android 中使用 ViewBinding 为 ViewStub 充气

android - 是不是每个安卓手机都默认有街景应用?

android - 如何在gradle文件中使用变量?

基于多个实时数据值的 Android 逻辑