java.lang.NoClassDefFoundError:解析失败:Landroid/support/v4/graphics/drawable/DrawableWrapper;

use*_*338 7 java android

应用程序正在运行,但是当打开alertdialog时,我们会收到此错误.已经4天了,没有找到任何解决方案.

03-06 16:05:23.355 5505-5505/com.boltt.health E/UncaughtException:java.lang.NoClassDefFoundError:解析失败:Landroid/support/v4/graphics/drawable/DrawableWrapper; 在android.support.v7.widget.DrawableUtils.canSafelyMutateDrawable(DrawableUtils.java:149)在android.support.v7.widget.AppCompatDrawableManager.tintDrawableUsingColorFilter(AppCompatDrawableManager.java:468)在android.support.v7.widget.AppCompatDrawableManager.tintDrawable (AppCompatDrawableManager.java:294)在android.support.v7.widget.AppCompatDrawableManager.getDrawable(AppCompatDrawableManager.java:203)在android.support.v7.widget.TintTypedArray.getDrawableIfKnown(TintTypedArray.java:85)在android.support.位于android.support.v7.app.AppCompatDelegateImplV9.(AppCompatDelegateImplV9.java:149)的vs.app.AppCompatDelegateImplBase.(AppCompatDelegateImplBase.java:128)位于android.support.v7.app.AppCompatDelegateImplV11.(AppCompatDelegateImplV11.java:29)at android.support.v7.app.AppCompatDelegateImplV14.在android.support.v7.app.AppCompatDelegateImplN(AppCompatDelegateImplV14.java:54)在android.support.v7.app.AppCompatDelegateImplV23.(AppCompatDelegateImplV23.java:31).(AppCompatDelegateIm plN.java:31)在android.support.v7.app.AppCompatDelegate.create(AppCompatDelegate.java:198)android.support.v7上的android.support.v7.app.AppCompatDelegate.create(AppCompatDelegate.java:192)位于android.support.v7.app.AppCompatDialog.(AppCompatDialog.java:52)的android.support.v7.app.AlertDialog.(AlertDialog.java:97)位于.app.AppCompatDialog.getDelegate(AppCompatDialog.java:158) android.support.v7.app.AlertDialog $ Builder.create(AlertDialog.java:932)位于com.boltt.health.new_initialsetup的android.support.v7.app.AlertDialog $ Builder.show(AlertDialog.java:957). SignUp._openAlertDialog(SignUp.java:562)at com.boltt.health.new_initialsetup.SignUp.access $ 600(SignUp.java:66)at com.boltt.health.new_initialsetup.SignUp $ 2.onResponse(SignUp.java:332)在retrofit2.ExecutorCallAdapterFactory $ ExecutorCallbackCall在Android的$ 1 $ 1.run(ExecutorCallAdapterFactory.java:70)在android.os.Handler.handleCallback(Handler.java:836)在android.os.Handler.dispatchMessage(Handler.java:103). os.Looper.loop(Looper.j ava:203)在android.app.ActivityThread.main(ActivityThread.java:6320)at java.lang.reflect.Method.invoke(Native Method)at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit. java:1085)at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:946)引起:java.lang.ClassNotFoundException:未找到类"android.support.v4.graphics.drawable.DrawableWrapper"路径:DexPathList [[zip文件"/data/app/com.boltt.health-1/base.apk"],nativeLibraryDirectories=[/data/app/com.boltt.health-1/lib/arm,/ data dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader)中的/app/com.boltt.health-1/base.apk!/ lib/arababi-v7a,/ system/lib,/ vendor/lib,/ system/vendor/lib] .java:56)java.lang.ClassLoader.loadClass(ClassLoader.java:380)at java.lang.ClassLoader.loadClass(ClassLoader.java:312)at android.support.v7.widget.DrawableUtils.canSafelyMutateDrawable(DrawableUtils. java:149)at android.support.v7.widget.AppCompatDrawableManager.tintDrawableUsingColorFilter(AppCompatDraw)ableManager.java:468)在android.support.v7.widget.AppCompatDrawableManager.tintDrawable(AppCompatDrawableManager.java:294)android.support.v7上的android.support.v7.widget.AppCompatDrawableManager.getDrawable(AppCompatDrawableManager.java:203)位于android.support.v7.app.AppCompatDelegateImplBase.(appCompatDelegateImplBase.java:128)的.widget.TintTypedArray.getDrawableIfKnown(TintTypedArray.java:85),位于android.support.v7.app.AppCompatDelegateImplV9.(AppCompatDelegateImplV9.java:149)at android.support.v7.app.AppCompatDelegateImplV11.在android.support.v7.app.AppCompatDelegateImplV23(AppCompatDelegateImplV11.java:29)在android.support.v7.app.AppCompatDelegateImplV14.(AppCompatDelegateImplV14.java:54).(AppCompatDelegateImplV23.java :31)在Android.support.v7.app.AppCompareDelegate的android.support.v7.app.AppCompatDelegateImplN.(AppCompatDelegateImplN.java:31)android.support.v7.app.AppCompatDelegate的android.support.v7.app.AppCompatDelegate.create(AppCompatDelegate.java:198) .create(AppCompatDelegate.java:192)在android.suppo rt.v7.app.AppCompatDialog.getDelegate(AppCompatDialog.java:158)位于android.support.v7.app.AppCompatDialog.(AppCompatDialog.java:52)android.support.v7.app.AlertDialog.(AlertDialog.java: 97)在android.support.v7.app.AlertDialog $ Builder.create(AlertDialog.java:932)的android.support.v7.app.AlertDialog $ Builder.show(AlertDialog.java:957)at com.boltt.health .new_initialsetup.SignUp._openAlertDialog(SignUp.java:562)at com.boltt.health.new_initialsetup.SignUp.access $ 600(SignUp.java:66)at com.boltt.health.new_initialsetup.SignUp $ 2.onResponse(SignUp.java) :332)在retrofit2.ExecutorCallAdapterFactory $ ExecutorCallbackCall $ 1 $ 1.run(ExecutorCallAdapterFactory.java:70)在android.os.Handler.handleCallback(Handler.java:836)在android.os.Handler.dispatchMessage(Handler.java:103)在android.os.Looper.loop(Looper.java:203)的android.app.ActivityThread.main(ActivityThread.java:6320),位于com.android.internal的java.lang.reflect.Method.invoke(Native Method) .os.ZygoteInit $ MethodAndArgsCaller.run(Zygot eInit.java:1085)com.android.internal.os.ZygoteInit.main(ZygoteInit.java:946) 

Gradle:

  03-06 16:05:23.355 5505-5505/com.boltt.health E/UncaughtException: java.lang.NoClassDefFoundError: Failed resolution of: Landroid/support/v4/graphics/drawable/DrawableWrapper;
   at android.support.v7.widget.DrawableUtils.canSafelyMutateDrawable(DrawableUtils.java:149)
   at android.support.v7.widget.AppCompatDrawableManager.tintDrawableUsingColorFilter(AppCompatDrawableManager.java:468)
   at android.support.v7.widget.AppCompatDrawableManager.tintDrawable(AppCompatDrawableManager.java:294)
   at android.support.v7.widget.AppCompatDrawableManager.getDrawable(AppCompatDrawableManager.java:203)
   at android.support.v7.widget.TintTypedArray.getDrawableIfKnown(TintTypedArray.java:85)
   at android.support.v7.app.AppCompatDelegateImplBase.<init>(AppCompatDelegateImplBase.java:128)
   at android.support.v7.app.AppCompatDelegateImplV9.<init>(AppCompatDelegateImplV9.java:149)
   at android.support.v7.app.AppCompatDelegateImplV11.<init>(AppCompatDelegateImplV11.java:29)
   at android.support.v7.app.AppCompatDelegateImplV14.<init>(AppCompatDelegateImplV14.java:54)
   at android.support.v7.app.AppCompatDelegateImplV23.<init>(AppCompatDelegateImplV23.java:31)
   at android.support.v7.app.AppCompatDelegateImplN.<init>(AppCompatDelegateImplN.java:31)
   at android.support.v7.app.AppCompatDelegate.create(AppCompatDelegate.java:198)
   at android.support.v7.app.AppCompatDelegate.create(AppCompatDelegate.java:192)
   at android.support.v7.app.AppCompatDialog.getDelegate(AppCompatDialog.java:158)
   at android.support.v7.app.AppCompatDialog.<init>(AppCompatDialog.java:52)
   at android.support.v7.app.AlertDialog.<init>(AlertDialog.java:97)
   at android.support.v7.app.AlertDialog$Builder.create(AlertDialog.java:932)
   at android.support.v7.app.AlertDialog$Builder.show(AlertDialog.java:957)
   at com.boltt.health.new_initialsetup.SignUp._openAlertDialog(SignUp.java:562)
   at com.boltt.health.new_initialsetup.SignUp.access$600(SignUp.java:66)
   at com.boltt.health.new_initialsetup.SignUp$2.onResponse(SignUp.java:332)
   at retrofit2.ExecutorCallAdapterFactory$ExecutorCallbackCall$1$1.run(ExecutorCallAdapterFactory.java:70)
   at android.os.Handler.handleCallback(Handler.java:836)
   at android.os.Handler.dispatchMessage(Handler.java:103)
   at android.os.Looper.loop(Looper.java:203)
   at android.app.ActivityThread.main(ActivityThread.java:6320)
   at java.lang.reflect.Method.invoke(Native Method)
   at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1085)
   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:946)
Caused by: java.lang.ClassNotFoundException: Didn't find class "android.support.v4.graphics.drawable.DrawableWrapper" on path: DexPathList[[zip file "/data/app/com.boltt.health-1/base.apk"],nativeLibraryDirectories=[/data/app/com.boltt.health-1/lib/arm, /data/app/com.boltt.health-1/base.apk!/lib/armeabi-v7a, /system/lib, /vendor/lib, /system/vendor/lib]]
   at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
   at java.lang.ClassLoader.loadClass(ClassLoader.java:380)
   at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
   at android.support.v7.widget.DrawableUtils.canSafelyMutateDrawable(DrawableUtils.java:149) 
   at android.support.v7.widget.AppCompatDrawableManager.tintDrawableUsingColorFilter(AppCompatDrawableManager.java:468) 
   at android.support.v7.widget.AppCompatDrawableManager.tintDrawable(AppCompatDrawableManager.java:294) 
   at android.support.v7.widget.AppCompatDrawableManager.getDrawable(AppCompatDrawableManager.java:203) 
   at android.support.v7.widget.TintTypedArray.getDrawableIfKnown(TintTypedArray.java:85) 
   at android.support.v7.app.AppCompatDelegateImplBase.<init>(AppCompatDelegateImplBase.java:128) 
   at android.support.v7.app.AppCompatDelegateImplV9.<init>(AppCompatDelegateImplV9.java:149) 
   at android.support.v7.app.AppCompatDelegateImplV11.<init>(AppCompatDelegateImplV11.java:29) 
   at android.support.v7.app.AppCompatDelegateImplV14.<init>(AppCompatDelegateImplV14.java:54) 
   at android.support.v7.app.AppCompatDelegateImplV23.<init>(AppCompatDelegateImplV23.java:31) 
   at android.support.v7.app.AppCompatDelegateImplN.<init>(AppCompatDelegateImplN.java:31) 
   at android.support.v7.app.AppCompatDelegate.create(AppCompatDelegate.java:198) 
   at android.support.v7.app.AppCompatDelegate.create(AppCompatDelegate.java:192) 
   at android.support.v7.app.AppCompatDialog.getDelegate(AppCompatDialog.java:158) 
   at android.support.v7.app.AppCompatDialog.<init>(AppCompatDialog.java:52) 
   at android.support.v7.app.AlertDialog.<init>(AlertDialog.java:97) 
   at android.support.v7.app.AlertDialog$Builder.create(AlertDialog.java:932) 
   at android.support.v7.app.AlertDialog$Builder.show(AlertDialog.java:957) 
   at com.boltt.health.new_initialsetup.SignUp._openAlertDialog(SignUp.java:562) 
   at com.boltt.health.new_initialsetup.SignUp.access$600(SignUp.java:66) 
   at com.boltt.health.new_initialsetup.SignUp$2.onResponse(SignUp.java:332) 
   at retrofit2.ExecutorCallAdapterFactory$ExecutorCallbackCall$1$1.run(ExecutorCallAdapterFactory.java:70) 
   at android.os.Handler.handleCallback(Handler.java:836) 
   at android.os.Handler.dispatchMessage(Handler.java:103) 
   at android.os.Looper.loop(Looper.java:203) 
   at android.app.ActivityThread.main(ActivityThread.java:6320) 
   at java.lang.reflect.Method.invoke(Native Method) 
   at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1085) 
   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:946) 
Run Code Online (Sandbox Code Playgroud)

Ant*_*non 4

所以这个问题有两个可能的重复:herehere。他们都得出结论,将Android 支持库升级到最新版本可以解决问题。除此之外,清理和重建项目以及重新启动 Android Studio 也会有所帮助。