Java.lang.NoClassDefFoundError: 无法解析android/support/v7/appcompat/R$drawable的错误

7

在离开一个项目一段时间后,我重新打开它并尝试运行,但它失败了,并出现以下错误。该错误似乎在多个项目中发生。

错误:

03-12 15:54:07.172 2431-2431/? E/AndroidRuntime: FATAL EXCEPTION: main
                                                 Process: com.myname.myproject, PID: 2431
                                                 java.lang.NoClassDefFoundError: Failed resolution of: Landroid/support/v7/appcompat/R$drawable;
                                                     at android.support.v7.widget.AppCompatDrawableManager.<clinit>(AppCompatDrawableManager.java:107)
                                                     at android.support.v7.widget.AppCompatDrawableManager.get(AppCompatDrawableManager.java:84)
                                                     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:183)
                                                     at android.support.v7.app.AppCompatActivity.getDelegate(AppCompatActivity.java:519)
                                                     at android.support.v7.app.AppCompatActivity.onCreate(AppCompatActivity.java:70)
                                                     at com.myname.myproject.LoginOrSignUp.LaunchPage.onCreate(LaunchPage.java:27)
                                                     at android.app.Activity.performCreate(Activity.java:6999)
                                                     at android.app.Activity.performCreate(Activity.java:6990)
                                                     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1214)
                                                     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2731)
                                                     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2856)
                                                     at android.app.ActivityThread.-wrap11(Unknown Source:0)
                                                     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1589)
                                                     at android.os.Handler.dispatchMessage(Handler.java:106)
                                                     at android.os.Looper.loop(Looper.java:164)
                                                     at android.app.ActivityThread.main(ActivityThread.java:6494)
                                                     at java.lang.reflect.Method.invoke(Native Method)
                                                     at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)
                                                     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)
                                                  Caused by: java.lang.ClassNotFoundException: Didn't find class "android.support.v7.appcompat.R$drawable" on path: DexPathList[[zip file "/data/app/com.myname.myproject-g0HGJ1WDjpr7GDj23kIy3g==/base.apk"],nativeLibraryDirectories=[/data/app/com.myname.myproject-g0HGJ1WDjpr7GDj23kIy3g==/lib/arm64, /data/app/com.myname.myproject-g0HGJ1WDjpr7GDj23kIy3g==/base.apk!/lib/arm64-v8a, /system/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 android.support.v7.widget.AppCompatDrawableManager.<clinit>(AppCompatDrawableManager.java:107) 
                                                     at android.support.v7.widget.AppCompatDrawableManager.get(AppCompatDrawableManager.java:84) 
                                                     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:183) 
                                                     at android.support.v7.app.AppCompatActivity.getDelegate(AppCompatActivity.java:519) 
                                                     at android.support.v7.app.AppCompatActivity.onCreate(AppCompatActivity.java:70) 
                                                     at com.myname.myproject.LoginOrSignUp.LaunchPage.onCreate(LaunchPage.java:27) 
                                                     at android.app.Activity.performCreate(Activity.java:6999) 
                                                     at android.app.Activity.performCreate(Activity.java:6990) 
                                                     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1214) 
                                                     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2731) 
                                                     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2856) 
                                                     at android.app.ActivityThread.-wrap11(Unknown Source:0) 
                                                     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1589) 
                                                     at android.os.Handler.dispatchMessage(Handler.java:106) 
                                                     at android.os.Looper.loop(Looper.java:164) 
                                                     at android.app.ActivityThread.main(ActivityThread.java:6494) 
                                                     at java.lang.reflect.Method.invoke(Native Method) 
                                                     at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438) 
                                                     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)  03-12 15:54:07.174 2431-2431/? E/UncaughtException: java.lang.NoClassDefFoundError: Failed resolution of: Landroid/support/v7/appcompat/R$drawable;
                                                        at android.support.v7.widget.AppCompatDrawableManager.<clinit>(AppCompatDrawableManager.java:107)
                                                        at android.support.v7.widget.AppCompatDrawableManager.get(AppCompatDrawableManager.java:84)
                                                        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:183)
                                                        at android.support.v7.app.AppCompatActivity.getDelegate(AppCompatActivity.java:519)
                                                        at android.support.v7.app.AppCompatActivity.onCreate(AppCompatActivity.java:70)
                                                        at com.myname.myproject.LoginOrSignUp.LaunchPage.onCreate(LaunchPage.java:27)
                                                        at android.app.Activity.performCreate(Activity.java:6999)
                                                        at android.app.Activity.performCreate(Activity.java:6990)
                                                        at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1214)
                                                        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2731)
                                                        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2856)
                                                        at android.app.ActivityThread.-wrap11(Unknown Source:0)
                                                        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1589)
                                                        at android.os.Handler.dispatchMessage(Handler.java:106)
                                                        at android.os.Looper.loop(Looper.java:164)
                                                        at android.app.ActivityThread.main(ActivityThread.java:6494)
                                                        at java.lang.reflect.Method.invoke(Native Method)
                                                        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)
                                                        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)
                                                     Caused by: java.lang.ClassNotFoundException: Didn't find class "android.support.v7.appcompat.R$drawable" on path: DexPathList[[zip file "/data/app/com.myname.myproject-g0HGJ1WDjpr7GDj23kIy3g==/base.apk"],nativeLibraryDirectories=[/data/app/com.myname.myproject-g0HGJ1WDjpr7GDj23kIy3g==/lib/arm64, /data/app/com.myname.myproject-g0HGJ1WDjpr7GDj23kIy3g==/base.apk!/lib/arm64-v8a, /system/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 android.support.v7.widget.AppCompatDrawableManager.<clinit>(AppCompatDrawableManager.java:107) 
                                                        at android.support.v7.widget.AppCompatDrawableManager.get(AppCompatDrawableManager.java:84) 
                                                        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:183) 
                                                        at android.support.v7.app.AppCompatActivity.getDelegate(AppCompatActivity.java:519) 
                                                        at android.support.v7.app.AppCompatActivity.onCreate(AppCompatActivity.java:70) 
                                                        at com.myname.myproject.LoginOrSignUp.LaunchPage.onCreate(LaunchPage.java:27) 
                                                        at android.app.Activity.performCreate(Activity.java:6999) 
                                                        at android.app.Activity.performCreate(Activity.java:6990) 
                                                        at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1214) 
                                                        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2731) 
                                                        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2856) 
                                                        at android.app.ActivityThread.-wrap11(Unknown Source:0) 
                                                        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1589) 
                                                        at android.os.Handler.dispatchMessage(Handler.java:106) 
                                                        at android.os.Looper.loop(Looper.java:164) 
                                                        at android.app.ActivityThread.main(ActivityThread.java:6494) 
                                                        at java.lang.reflect.Method.invoke(Native Method) 
                                                        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438) 
                                                        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)

Gradle

compileSdkVersion 27
buildToolsVersion '27.0.1'

尝试解决

据我的理解,下面这行代码意味着某些东西没有正确地安装,但我不确定如何解决这个问题。

java.lang.NoClassDefFoundError: Failed resolut of: Landroid/support/v7/appcompat/R$drawable

有人知道为什么突然会出现这个错误吗?


1
你尝试过 文件 -> 无效缓存 -> 重启... 吗? - ישו אוהב אותך
1
@ישואוהבאותך 稍微晚了一些,如果下面的解决方案对我下次遇到类似问题无效,我会记住这个建议的。无论如何,感谢您的建议。 - Rbar
1
这是最简单的解决方案。 - ucMedia
1个回答

0

在我的build.gradle中将compile更改为implementation,并将27.0.1更改为27.1.0似乎对我有用。 错误和解决方案似乎有点不相关,但它确实起作用:

已更改:

dependencies {
  compile fileTree(dir: 'libs', include: ['*.jar'])
  compile 'com.android.support:appcompat-v7:27.0.1'
  compile 'com.android.support.constraint:constraint-layout:1.0.2'
  compile 'com.android.support:design:27.0.1'
  compile "com.android.support:support-v4:27.0.1"
  compile "com.android.support:support-v13:27.0.1"
  compile "com.android.support:cardview-v7:27.0.1"
  ...
}

To:

dependencies {
  implementation fileTree(dir: 'libs', include: ['*.jar'])
  implementation 'com.android.support:appcompat-v7:27.1.0'
  implementation 'com.android.support.constraint:constraint-layout:1.0.2'
  implementation 'com.android.support:design:27.1.0'
  implementation "com.android.support:support-v4:27.1.0"
  implementation "com.android.support:support-v13:27.1.0"
  implementation "com.android.support:cardview-v7:27.1.0"
  ...
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接