使用AndroidX时找不到辅助dex文件中的MultiDexApplication类

bpl*_*lpu 5 android android-support-library android-multidex androidx

我正在使用'androidx.multidex:multidex:2.0.0',我使用以下命令从清单中指向MultiDexApplication类:

<application
    android:name="androidx.multidex.MultiDexApplication"
    ...
Run Code Online (Sandbox Code Playgroud)

在build.gradle上,我还添加了以下条目:

defaultConfig {
    ...
    multiDexEnabled true
    ...
Run Code Online (Sandbox Code Playgroud)

在早于5.0(Android 21)的Android版本中运行应用程序时,我收到以下异常:

java.lang.RuntimeException: Unable to instantiate application androidx.multidex.MultiDexApplication: java.lang.ClassNotFoundException: Didn't find class "androidx.multidex.MultiDexApplication" on path [...]
Run Code Online (Sandbox Code Playgroud)

我用APK浏览器,我看到MultiDexApplication类和其他MultiDex辅助类,其中在classes2.dex文件.这可能就是为什么它找不到这个课程.

我必须强制这些类在主classes.dex文件上吗?怎么解决这个问题?

小智 0

迁移到 AndroidX 后我遇到了同样的问题,尽管有问题的应用程序类是我们的自定义应用程序类。我尝试从 Android Studio 中清理该项目,但这不起作用,所以最终我手动删除了所有构建文件夹,并且还为 Android Studio 做了“无效缓存并重新启动”,这似乎已经解决了问题至少我。