【问题标题】:Cannot run instrumentation tests after I introduced databinding引入数据绑定后无法运行仪器测试
【发布时间】:2015-12-03 15:18:41
【问题描述】:

我来了

Warning: library class android.databinding.DataBindingUtil depends on program class android.databinding.DataBindingComponent

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

如何解决这个问题?

edit:我认为这是一个 android-gradle 构建工具错误或 Android 数据绑定错误。我已向 Google 提交了bug report,其中包含有关如何复制的完整说明。

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

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

【问题讨论】:

  • 他们在构建工具的第一个 apha 版本时遇到问题,请尝试 classpath 'com.android.tools.build:gradle:2.0.0-alpha2
  • 已升级到 AS 2.0 预览版 2 和该 gradle 构建工具版本,但没有帮助 :-(

标签: android android-databinding


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 2014-05-22
    • 1970-01-01
    • 1970-01-01
    • 2023-01-10
    • 2017-04-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-16
    相关资源
    最近更新 更多