Android studio java.lang.NoClassDefFoundError:androidx/sqlite/db/SupportSQLiteQuery在昨天工作的单元测试中

Android studio java.lang.NoClassDefFoundError:androidx/sqlite/db/SupportSQLiteQuery在昨天工作的单元测试中,android-studio,android-unit-testing,Android Studio,Android Unit Testing,这个问题的答案不是“Android单元测试无法访问Android堆栈模块,如Room数据库,因为在您的桌面上,它们都被删除了。” 我做了一系列单元测试,测试碰巧在Dao类中的静态方法——称之为FooDao。他们都通过了一年,直到今天,当Android Studio的编辑打电话给他们时,他们停止了通过。当命令行测试调用它们时,它们仍然通过,但编辑器报告: java.lang.NoClassDefFoundError: androidx/sqlite/db/SupportSQLiteQuery 当

这个问题的答案不是“Android单元测试无法访问Android堆栈模块,如Room数据库,因为在您的桌面上,它们都被删除了。”

我做了一系列单元测试,测试碰巧在Dao类中的静态方法——称之为
FooDao
。他们都通过了一年,直到今天,当Android Studio的编辑打电话给他们时,他们停止了通过。当命令行测试调用它们时,它们仍然通过,但编辑器报告:

java.lang.NoClassDefFoundError: androidx/sqlite/db/SupportSQLiteQuery
当单元测试到达
FooDao.innocentStaticMethod()
时,就会发生这种情况。正如我所说,访问
FooDao
类时,不调用以前在单元测试中使用的任何真正的Room方法


长期的解决办法是重构我的代码,使
FooDao
只包含真正的房间调用。但为什么Android Studio的测试运行程序突然停止工作?该版本是安卓Studio 4.2 RC 1,建于2021年3月23日。在4月22日,从androidx.room:room运行时:2.2.6和编译器切换到
2.3.0的目标是30版

在app/build.gradle中:

implementation 'androidx.room:room-runtime:2.2.6'
annotationProcessor 'androidx.room:room-compiler:2.2.6'
当我把一个创可贴留给这个问题,直到下一次我们需要升级我的强大的<代码> FooAu时,有人会把安卓系统放在这上面吗?ktx