Instrumentation测试无法在包含Kotlin文件的Android库模块中运行
这基本上是在标题中,我不能在包含Kotlin类的Android库模块中运行任何检测测试。 这与测试是否依赖Kotlin类无关。
这里是我可以重现这个问题的最简单的步骤:
- 使用默认设置创建一个新的Android库项目
- 只要检查,运行示例仪表测试,运行良好
- 添加一个Kotlin类
- 运行示例测试,仍然运行良好
- 再次添加一个全新的默认设置的Android库模块
- 运行示例仪器测试,工作正常
- 添加一个Kotlin文件,只包含一个
class Something
-
尝试再次运行检测测试,现在构建失败,并显示以下消息:
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 ,请尝试这些版本之一。