java.lang.NoClassDefFoundError: Failed resolution of: Landroid/support/v4/app

Posted u013164293

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java.lang.NoClassDefFoundError: Failed resolution of: Landroid/support/v4/app相关的知识,希望对你有一定的参考价值。

问题:

2021-08-06 20:32:37.206 5797-5797/com.ba.manage E/androidRuntime: FATAL EXCEPTION: main
    Process: com.ba.manage, PID: 5797
    java.lang.NoClassDefFoundError: Failed resolution of: Landroid/support/v4/app/FragmentActivity;
        at 

......


     Caused by: java.lang.ClassNotFoundException: Didn't find class "android.support.v4.app.FragmentActivity" on path: DexPathList[[zip file "/data/app/com.ba.manage-F9vM0zF4Kv55g0wDN8D-XA==/base.apk"],nativeLibraryDirectories=[/data/app/com.ba.manage-F9vM0zF4Kv55g0wDN8D-XA==/lib/arm64, /data/app/com.wq.manage-F9vM0zF4Kv55g0wDN8D-XA==/base.apk!/lib/arm64-v8a, /system/lib64, /vendor/lib64]]
        at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:125)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:379)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
        at 

......

解决方案: 

在gradle.properties文件中添加 “android.enableJetifier=true”,表示将依赖包也迁移到androidx

android.useAndroidX=true
# Automatically convert third-party libraries to use AndroidX
android.enableJetifier=true

根据Android官网介绍:

android.useAndroidX=true 表示“Android插件会使用对应的AndroidX库,而非Support库”;未设置时默认为false;
android.enableJetifier=true 表示Android插件会通过重写其二进制文件来自动迁移现有的第三方库,以使用AndroidX依赖项;未设置时默认为false。


 如果您有其他需要,或者相关内容有什么不完善的地方,请留言给我!!

您也可以加入下方qq群,共同学习进步,感谢参与!!

Android学习交流群:523487222

点击链接加入群【Android学习群】

 

以上是关于java.lang.NoClassDefFoundError: Failed resolution of: Landroid/support/v4/app的主要内容,如果未能解决你的问题,请参考以下文章