获取带有测试覆盖率和gradle插件3.0.0的java.lang.NoClassDefFoundError

问题描述 投票:2回答:1

我正在尝试将我的应用程序更新为新的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代理显示该类实际上存在 - 对于两个库。

有没有人遇到过这个问题而且有解决方案?谢谢

android gradle android-gradle jacoco
1个回答
© www.soinside.com 2019 - 2024. All rights reserved.