user2364424
user2364424

Reputation: 101

Failed resolution of: Landroid/support/v7/appcompat/R$drawable;

I tried to update some modules on a project that I hadn't run for about a month. Now I can't figure out how to get rid of this 'java.lang.NoClassDefFoundError: Failed resolution of: Landroid/support/v7/appcompat/R$drawable;' error.

I've tried removing and replacing appcompat-v7. I've tried clean->rebuild.

Anyone have any ideas?

build.gradle

apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
apply plugin: 'kotlin-kapt'
apply plugin: 'realm-android'

android {
    compileSdkVersion 28
    defaultConfig {
        applicationId "com.funkyradish.funky_radish"
        minSdkVersion 23
        targetSdkVersion 28
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
        vectorDrawables.useSupportLibrary = true
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    productFlavors {
    }
}

realm {
    syncEnabled = true
}

dependencies {
    implementation fileTree(include: ['*.jar'], dir: 'libs')
    implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
    implementation 'com.android.support:appcompat-v7:28.0.0'
    implementation 'com.android.support.constraint:constraint-layout:2.0.2'
    implementation 'com.android.support:support-v4:28.0.0'
    implementation 'com.android.support:design:28.0.0'
    implementation 'com.android.support:support-vector-drawable:28.0.0'
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'com.android.support.test:runner:1.0.2'
    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
    implementation 'com.android.volley:volley:1.1.0'
    implementation 'com.google.code.gson:gson:2.8.5'
    implementation 'io.realm:android-adapters:3.0.0'
    implementation 'com.android.support:recyclerview-v7:28.0.0'
    implementation 'com.android.support:cardview-v7:28.0.0'
}

The log:

   --------- beginning of crash
2020-10-30 13:54:40.577 3080-3080/com.funkyradish.funky_radish E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.funkyradish.funky_radish, PID: 3080
    java.lang.NoClassDefFoundError: Failed resolution of: Landroid/support/v7/appcompat/R$drawable;
        at android.support.v7.widget.AppCompatDrawableManager.<clinit>(AppCompatDrawableManager.java:113)
        at android.support.v7.widget.AppCompatDrawableManager.get(Unknown Source:0)
        at android.support.v7.widget.TintTypedArray.getDrawableIfKnown(TintTypedArray.java:86)
        at android.support.v7.app.AppCompatDelegateImpl.<init>(AppCompatDelegateImpl.java:260)
        at android.support.v7.app.AppCompatDelegate.create(AppCompatDelegate.java:182)
        at android.support.v7.app.AppCompatActivity.getDelegate(AppCompatActivity.java:520)
        at android.support.v7.app.AppCompatActivity.onCreate(AppCompatActivity.java:71)
        at com.funkyradish.funky_radish.RecipeSearchActivity.onCreate(RecipeSearchActivity.kt:26)
        at android.app.Activity.performCreate(Activity.java:8000)
        at android.app.Activity.performCreate(Activity.java:7984)
        at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1309)
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3422)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3601)
        at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:85)
        at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
        at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2066)
        at android.os.Handler.dispatchMessage(Handler.java:106)
        at android.os.Looper.loop(Looper.java:223)
        at android.app.ActivityThread.main(ActivityThread.java:7656)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)
     Caused by: java.lang.ClassNotFoundException: Didn't find class "android.support.v7.appcompat.R$drawable" on path: DexPathList[[zip file "/data/app/~~87vu8NiNMQQL0yvlKv271w==/com.funkyradish.funky_radish-r5C96BCvQ9R1SH2yCfeKEA==/base.apk"],nativeLibraryDirectories=[/data/app/~~87vu8NiNMQQL0yvlKv271w==/com.funkyradish.funky_radish-r5C96BCvQ9R1SH2yCfeKEA==/lib/x86, /data/app/~~87vu8NiNMQQL0yvlKv271w==/com.funkyradish.funky_radish-r5C96BCvQ9R1SH2yCfeKEA==/base.apk!/lib/x86, /system/lib, /system_ext/lib, /product/lib]]
        at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:207)
        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:113) 
        at android.support.v7.widget.AppCompatDrawableManager.get(Unknown Source:0) 
        at android.support.v7.widget.TintTypedArray.getDrawableIfKnown(TintTypedArray.java:86) 
        at android.support.v7.app.AppCompatDelegateImpl.<init>(AppCompatDelegateImpl.java:260) 
        at android.support.v7.app.AppCompatDelegate.create(AppCompatDelegate.java:182) 
        at android.support.v7.app.AppCompatActivity.getDelegate(AppCompatActivity.java:520) 
        at android.support.v7.app.AppCompatActivity.onCreate(AppCompatActivity.java:71) 
        at com.funkyradish.funky_radish.RecipeSearchActivity.onCreate(RecipeSearchActivity.kt:26) 
        at android.app.Activity.performCreate(Activity.java:8000) 
        at android.app.Activity.performCreate(Activity.java:7984) 
        at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1309) 
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3422) 
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3601) 
        at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:85) 
        at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135) 
        at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95) 
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2066) 
        at android.os.Handler.dispatchMessage(Handler.java:106) 
        at android.os.Looper.loop(Looper.java:223) 
        at android.app.ActivityThread.main(ActivityThread.java:7656) 
        at java.lang.reflect.Method.invoke(Native Method) 
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592) 
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947) 

Upvotes: 0

Views: 2647

Answers (1)

user2364424
user2364424

Reputation: 101

I finally solved this after finding this https://github.com/realm/realm-java/issues/6557

My solution was to update Realm by changing a line in my project level build.gradle

from classpath 'io.realm:realm-gradle-plugin:5.7.0' to classpath 'io.realm:realm-gradle-plugin:6.0.2'

and clean->rebuilding the project.

I also wiped my emulated device.

I don't fully understand what caused this, but it seems that there was some chnge to that realm-gradle-plugin that caused it not to handle some view dependencies correctly.

Upvotes: 3

Related Questions