【发布时间】:2018-06-06 07:31:03
【问题描述】:
我们有一个带有默认方法的接口,我们在Java 和Kotlin 类中实现了该接口,并且我们为非默认方法提供了实现。
当我们在调试模式下运行(没有 testCoverageEnabled = true)并且应用按预期运行时。但是当我们在 testCoverageEnabled = true 的不同配置中运行时,应用程序崩溃并出现以下错误
java.lang.NoSuchMethodError: No static method $$triggerInterfaceInit()V in class Lcom/ui/viewholders/CAViewContract$$CC; or its super classes (declaration of 'ui.viewholders.CAViewContract$$CC' appears in /data/app/SMCXbiLYvHb1Kk08Kee__g==/base.apk)
at home.c.CCFragment.<clinit>(Unknown Source:0)
at home.HomePageCardProvider.getFragment(HomePageCardProvider.java:17)
at home.HomeFragment.handleCardFragment(HomeFragment.java:172)
注意: 1. JaCoCo 版本:“0.8.0” 2. 操作系统:Android with minSdk 21
如果我们将 minSdk 更改为 24,使用 testCoverageEnabled = true 本身,它就可以工作。我们无法找出确切的问题。
【问题讨论】:
-
您是否尝试过添加 Java 8 兼容性? developer.android.com/studio/write/java8-support
-
是的,我们已经做到了
标签: java android java-8 kotlin jacoco