我正在尝试将我的应用更新为新的Android gradle插件3.0.0-alpha1。我已经通过了https://developer.android.com/studio/preview/features/new-android-plugin-migration.html的迁移指南,据我所知,一切都是正确的。我三倍检查了这个。
我的项目设置非常简单我的lib2
取决于lib1
。一切顺利进行,直到代码覆盖发挥作用。 lib1
中的所有测试都没有问题,但lib2
中来自lib1
的代码中的测试引发了着名的异常:
java.lang.ClassNotFoundException: org.jacoco.agent.rt.internal_773e439.Offline
来自lib2
的所有其他测试都没有遇到任何问题。
我已尝试过在网络上找到的所有解决方案。从强制两个lib的jacoco版本。使用随android插件打包的那个。使用独立的jacoco插件。从代码覆盖中排除有问题的类。将测试移动到单独的模块,这会在给定的异常情况下产生更多的故障。似乎每次图书馆依赖另一个图书馆时都会失败。
最奇怪的是,解压缩jacoco代理会显示该类实际存在 - 对于两个库。
有没有人遇到过这个问题而且有解决方案?谢谢
答案 0 :(得分:0)
这是由于Jacoco版本0.7.6.201602180812
上的错误引起的。
另一篇文章的参考:
java.lang.NoClassDefFoundError: Failed resolution of: Lorg/jacoco/agent/rt/internal_14f7ee5/Offline