android - 尝试使用 Android Compose 和 Hilt 设置 Instrumented 测试时出现 ComponentActivity ClassNotFoundException

标签 android android-jetpack-compose dagger-hilt instrumented-test

我正在设置我的第一个仪器化单元测试,并在 logcat 中发生了不明原因的崩溃。

当应用程序尝试打开并且单元测试甚至无法运行时,模拟器会启动并立即崩溃,因为应用程序未处于正确的状态。

2022-02-09 19:30:37.116 25764-25764/com.anotherday.day17.test E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.anotherday.day17.test, PID: 25764
java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.anotherday.day17.test/androidx.activity.ComponentActivity}: java.lang.ClassNotFoundException: Didn't find class "androidx.activity.ComponentActivity" on path: DexPathList[[zip file "/data/app/~~NodQZs7v97-vYTPte3T7UQ==/com.anotherday.day17.test-25XuwB3vTwyNbSX-nlETDQ==/base.apk"],

它似乎正在寻找在以下 gradle 依赖项中定义的 androidx.activity.ComponentActivity:

实现'androidx.activity:activity-compose:1.3.1'

不知道还能去哪里看,这是我的第一个测试和我在 git 中的项目: https://github.com/davida5/ComposeNotepad/blob/main/app/src/androidTest/java/com/anotherday/day17/navigation/NavigatorTest.kt

最佳答案

将以下内容添加到您的 AndroidManifest.xml 中:

<manifest>
  <application>
    ...
    <activity android:name="androidx.activity.ComponentActivity" />
    ...
  <application>
<manifest>

如果您有调试变体的特定 list 文件,请将其添加到该文件中,因为发布变体不需要此更改。

关于android - 尝试使用 Android Compose 和 Hilt 设置 Instrumented 测试时出现 ComponentActivity ClassNotFoundException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71052681/

相关文章:

android - 尝试使用 Retrofit 发出 get 请求时无法为类 java.lang.Object 创建调用适配器

android - 如何从 MaterialBetterSpinner 中选择值?

android - 分页不起作用,也许我找到了原因

android - System.getenv() 没有在 Android Studio 中提取任何环境变量?

android - 喷气背包组合。强制切换夜/夜资源

android - 具有由 Hilt 在仪器测试零参数构造函数中注入(inject)的可组合项的真实 ViewModel

android - 在 Android 下拉导航中设置所选项目的背景颜色

android - 在导航图 NavGraph 中找不到与请求 NavDeepLinkRequest 匹配的导航目的地

android-jetpack-compose - 在抽屉打开时隐藏软键盘 - Jetpack Compose

Android Dagger Hilt : Do we need scope annotations for ViewModels?