这些 Hilt 错误是什么意思,为什么我的 android 32 应用程序现在在启动时崩溃

What do these Hilt errors mean and why is my android 32 application now crashing on launch

已将我的 android 应用程序升级到

compileSdkVersion 32
buildToolsVersion "32.0.0"

defaultConfig {
    applicationId "com.my.app"
    minSdkVersion 26
    targetSdkVersion 32
    versionCode 1
    versionName "1.0"

    testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}

我现在看到这些构建消息

> Task :app:hiltAggregateDepsStagingDebug
WARNING: [Processor] Library '/Users/ulbrichtrw/.gradle/caches/transforms-3/16015df75f1841f59f18fa48255d2c0f/transformed/core-1.7.0-api.jar' contains references to both AndroidX and old support library. This seems like the library is partially migrated. Jetifier will try to rewrite the library anyway.
 Example of androidX reference: 'androidx/core/R$styleable'
 Example of support library reference: 'android/support/v4/app/INotificationSideChannel$Default'
WARNING: [Processor] Library '/Users/ulbrichtrw/.gradle/caches/transforms-3/36813b047f20ef4bcb69a988a1823888/transformed/media-1.0.0-api.jar' contains references to both AndroidX and old support library. This seems like the library is partially migrated. Jetifier will try to rewrite the library anyway.
 Example of androidX reference: 'androidx/media/R$styleable'
 Example of support library reference: 'android/support/v4/media/MediaBrowserCompat$CallbackHandler'
WARNING: [Processor] Library '/Users/ulbrichtrw/.gradle/caches/transforms-3/c02b02e710117d58e0dab02dffab908d/transformed/browser-1.4.0-api.jar' contains references to both AndroidX and old support library. This seems like the library is partially migrated. Jetifier will try to rewrite the library anyway.
 Example of androidX reference: 'androidx/browser/R$xml'
 Example of support library reference: 'android/support/customtabs/ICustomTabsCallback$Default'

android工作室的版本是

Android Studio Bumblebee | 2021.1.1 RC 1
Build #AI-211.7628.21.2111.8005941, built on December 15, 2021
Runtime version: 11.0.11+0-b60-7590822 x86_64
VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o.
macOS 10.15.7
GC: G1 Young Generation, G1 Old Generation
Memory: 4096M
Cores: 12
Registry: external.system.auto.import.disabled=true, debugger.watches.in.variables=false
Non-Bundled Plugins: org.jetbrains.kotlin (211-1.6.10-release-923-AS7442.40)

刀柄版本为

 classpath 'com.google.dagger:hilt-android-gradle-plugin:2.40.5'
api 'com.google.dagger:hilt-android:2.40.5'
api "androidx.hilt:hilt-lifecycle-viewmodel:1.0.0-alpha03"
kapt "androidx.hilt:hilt-compiler:1.0.0"
kapt 'com.google.dagger:hilt-android-compiler:2.40.5'

当我构建并启动我的应用程序时,它立即崩溃并出现此异常

2022-01-14 09:47:03.015 17685-17685/com.my.app E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.my.app, PID: 17685
    java.lang.RuntimeException: Unable to instantiate application com.my.app.MyApplication package com.my.app: java.lang.ClassNotFoundException: Didn't find class "com.my.app.MyApplication" on path: DexPathList[[zip file "/data/app/~~SCdopZBpZDBd2FQ80g7S9w==/com.my.app-5K9szghSkFNozBisWLbB2Q==/base.apk"],nativeLibraryDirectories=[/data/app/~~SCdopZBpZDBd2FQ80g7S9w==/com.my.app-5K9szghSkFNozBisWLbB2Q==/lib/arm64, /data/app/~~SCdopZBpZDBd2FQ80g7S9w==/com.my.app-5K9szghSkFNozBisWLbB2Q==/base.apk!/lib/arm64-v8a, /system/lib64, /system_ext/lib64]]
        at android.app.LoadedApk.makeApplication(LoadedApk.java:1364)
        at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6686)
        at android.app.ActivityThread.access00(ActivityThread.java:247)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2053)
        at android.os.Handler.dispatchMessage(Handler.java:106)
        at android.os.Looper.loopOnce(Looper.java:201)
        at android.os.Looper.loop(Looper.java:288)
        at android.app.ActivityThread.main(ActivityThread.java:7839)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1003)
     Caused by: java.lang.ClassNotFoundException: Didn't find class "com.my.app.MyApplication" on path: DexPathList[[zip file "/data/app/~~SCdopZBpZDBd2FQ80g7S9w==/com.my.app-5K9szghSkFNozBisWLbB2Q==/base.apk"],nativeLibraryDirectories=[/data/app/~~SCdopZBpZDBd2FQ80g7S9w==/com.my.app-5K9szghSkFNozBisWLbB2Q==/lib/arm64, /data/app/~~SCdopZBpZDBd2FQ80g7S9w==/com.my.app-5K9szghSkFNozBisWLbB2Q==/base.apk!/lib/arm64-v8a, /system/lib64, /system_ext/lib64]]
        at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:218)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:379)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
        at android.app.AppComponentFactory.instantiateApplication(AppComponentFactory.java:76)
        at androidx.core.app.CoreComponentFactory.instantiateApplication(CoreComponentFactory.java:52)
        at android.app.Instrumentation.newApplication(Instrumentation.java:1177)
        at android.app.LoadedApk.makeApplication(LoadedApk.java:1356)
        at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6686) 
        at android.app.ActivityThread.access00(ActivityThread.java:247) 
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2053) 
        at android.os.Handler.dispatchMessage(Handler.java:106) 
        at android.os.Looper.loopOnce(Looper.java:201) 
        at android.os.Looper.loop(Looper.java:288) 
        at android.app.ActivityThread.main(ActivityThread.java:7839) 
        at java.lang.reflect.Method.invoke(Native Method) 
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548) 
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1003) 
        Suppressed: java.lang.NoClassDefFoundError: Failed resolution of: Lcom/elsevier/knovel/Hilt_MyApplication;
        at java.lang.VMClassLoader.findLoadedClass(Native Method)
        at java.lang.ClassLoader.findLoadedClass(ClassLoader.java:738)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:363)
                ... 15 more
     Caused by: java.lang.ClassNotFoundException: com.my.app.Hilt_MyApplication
        at java.lang.VMClassLoader.findLoadedClass(Native Method)
        at java.lang.ClassLoader.findLoadedClass(ClassLoader.java:738)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:363)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
                ... 18 more
     Caused by: java.lang.NoClassDefFoundError: Failed resolution of: Ldagger/hilt/internal/GeneratedComponentManagerHolder;
                ... 18 more
     Caused by: java.lang.ClassNotFoundException: Didn't find class "dagger.hilt.internal.GeneratedComponentManagerHolder" on path: DexPathList[[zip file "/data/app/~~SCdopZBpZDBd2FQ80g7S9w==/com.my.app-5K9szghSkFNozBisWLbB2Q==/base.apk"],nativeLibraryDirectories=[/data/app/~~SCdopZBpZDBd2FQ80g7S9w==/com.my.app-5K9szghSkFNozBisWLbB2Q==/lib/arm64, /data/app/~~SCdopZBpZDBd2FQ80g7S9w==/com.my.app-5K9szghSkFNozBisWLbB2Q==/base.apk!/lib/arm64-v8a, /system/lib64, /system_ext/lib64]]
        at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:218)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:379)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
                ... 18 more

我哪里做错了?

我该如何解决这个问题?

更新 我确定根本原因是我还将 newrelic 的版本升级到了 6.4.0。一旦我恢复了这个 gradle 更改我的应用程序就可以启动

我已经确定了问题的根本原因

我在迁移到 Android 32 的同时还升级了 newrelic 库。这是 newrelic 引起的问题,一旦我恢复了 newrelic gradle 更改我构建的应用程序并顺利启动。

我实施的 newrelic gradle 更改是从

增加版本
classpath 'com.newrelic.agent.android:agent-gradle-plugin:6.3.1'

到这个最新版本

classpath 'com.newrelic.agent.android:agent-gradle-plugin:6.4.0'