Instrumentation测试无法在包含Kotlin文件的Android库模块中运行

这基本上是在标题中,我不能在包含Kotlin类的Android库模块中运行任何检测测试。 这与测试是否依赖Kotlin类无关。

这里是我可以重现这个问题的最简单的步骤:

  1. 使用默认设置创建一个新的Android库项目
    • 只要检查,运行示例仪表测试,运行良好
    • 添加一个Kotlin类
    • 运行示例测试,仍然运行良好
  2. 再次添加一个全新的默认设置的Android库模块
  3. 运行示例仪器测试,工作正常
  4. 添加一个Kotlin文件,只包含一个class Something
  5. 尝试再次运行检测测试,现在构建失败,并显示以下消息:

    Error:Execution failed for task ':mylibrary:transformClassesWithDexForDebugAndroidTest'.

    > com.android.build.api.transform.TransformException: com.android.ide.common.process.ProcessException: java.util.concurrent.ExecutionException: com.android.dex.DexException: Multiple dex files define Lco/zsmb/example/mylibrary/Something;

这是Kotlin Gradle插件1.1.1的已知问题 。 它在版本1.1.0中不存在,并且已经被修复为1.1.2 EAP ,请尝试这些版本之一。