1

Android App was working with no crash, After updating the Gradle plugin to version 3.6 faced the runtime crash below:

E/AndroidRuntime: FATAL EXCEPTION: main
    Process: my.package.app, PID: 9420
    java.lang.NoClassDefFoundError: Failed resolution of: Landroidx/appcompat/R$drawable;
        at androidx.appcompat.widget.AppCompatDrawableManager.<clinit>(AppCompatDrawableManager.java:113)
        at androidx.appcompat.widget.AppCompatDrawableManager.get(Unknown Source:0)
        at androidx.appcompat.widget.TintTypedArray.getDrawableIfKnown(TintTypedArray.java:86)
        at androidx.appcompat.app.AppCompatDelegateImpl.<init>(AppCompatDelegateImpl.java:260)
        at androidx.appcompat.app.AppCompatDelegate.create(AppCompatDelegate.java:182)
        at androidx.appcompat.app.AppCompatActivity.getDelegate(AppCompatActivity.java:520)
        at androidx.appcompat.app.AppCompatActivity.onCreate(AppCompatActivity.java:71)
        at my.package.app.abstracts.BaseActivity.onCreate(BaseActivity.java:94)
        at my.package.app.ui.activity_splash.SplashActivity.onCreate(SplashActivity.java:48)
        at android.app.Activity.performCreate(Activity.java:7335)
        at android.app.Activity.performCreate(Activity.java:7326)
        at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1275)
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3119)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3282)
        at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:78)
        at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108)
        at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1970)
        at android.os.Handler.dispatchMessage(Handler.java:106)
        at android.os.Looper.loop(Looper.java:214)
        at android.app.ActivityThread.main(ActivityThread.java:7156)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:494)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:975)
     Caused by: java.lang.ClassNotFoundException: Didn't find class "androidx.appcompat.R$drawable" on path: DexPathList[[zip file "/data/app/my.package.app-ubNE5Y0S9Ec7hNJGohi9Sw==/base.apk"],nativeLibraryDirectories=[/data/app/my.package.app-ubNE5Y0S9Ec7hNJGohi9Sw==/lib/arm, /data/app/my.package.app-ubNE5Y0S9Ec7hNJGohi9Sw==/base.apk!/lib/armeabi-v7a, /system/lib, /system/vendor/lib]]
        at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:134)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:379)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
        at androidx.appcompat.widget.AppCompatDrawableManager.<clinit>(AppCompatDrawableManager.java:113) 
        at androidx.appcompat.widget.AppCompatDrawableManager.get(Unknown Source:0) 
        at androidx.appcompat.widget.TintTypedArray.getDrawableIfKnown(TintTypedArray.java:86) 
        at androidx.appcompat.app.AppCompatDelegateImpl.<init>(AppCompatDelegateImpl.java:260) 
        at androidx.appcompat.app.AppCompatDelegate.create(AppCompatDelegate.java:182) 
        at androidx.appcompat.app.AppCompatActivity.getDelegate(AppCompatActivity.java:520) 
        at androidx.appcompat.app.AppCompatActivity.onCreate(AppCompatActivity.java:71) 
        at my.package.app.abstracts.BaseActivity.onCreate(BaseActivity.java:94) 
        at my.package.app.ui.activity_splash.SplashActivity.onCreate(SplashActivity.java:48) 
        at android.app.Activity.performCreate(Activity.java:7335) 
        at android.app.Activity.performCreate(Activity.java:7326) 
        at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1275) 
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3119) 
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3282) 
        at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:78) 
        at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108) 
        at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68) 
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1970) 
        at android.os.Handler.dispatchMessage(Handler.java:106) 
        at android.os.Looper.loop(Looper.java:214) 
        at android.app.ActivityThread.main(ActivityThread.java:7156) 
        at java.lang.reflect.Method.invoke(Native Method) 
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:494) 
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:975) 


ext.gradlVersion = '3.6.0'
...
classpath "com.android.tools.build:gradle:$gradlVersion"

distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.4-all.zip
Hossein Kurd
  • 3,184
  • 3
  • 41
  • 71

2 Answers2

2

First implement multidex into your project then restart android studio and run your app.
If still you face this issue, then you need to downgrade your android studio's stable version 3.5.3

Below Android Studio 3.5 disable Instant run:

Android Studio --> File --> Setting --> Build, execution, deploy --> Instant run.

Issue: Click Me , Click Me

Hope this mey help you

Mario Codes
  • 689
  • 8
  • 15
InsaneCat
  • 2,115
  • 5
  • 21
  • 40
  • I checked out links before, in my case does not work, Instant run not available in android studio 3.6 at the above direction – Hossein Kurd Feb 27 '20 at 09:32
  • May be problem whith new gradles downgrade it and check hope this may work..because this studio is not pure stable and sorry my mistake instant run removed since 3.5 : https://stackoverflow.com/a/57616477/3974530 – InsaneCat Feb 27 '20 at 09:45
  • I had to downgrade Android Studio and pull the project from SVC! it still does not work after downgrading IDE – Hossein Kurd Feb 27 '20 at 10:56
  • 1
    I'm finding solution!! OK downgrade Android Studio then did you set your old gradle version? – InsaneCat Feb 27 '20 at 11:00
  • Not sure, but I think that's the problem – Hossein Kurd Feb 28 '20 at 15:39
  • For me, I didn't need to downgrade anything. If you use `realm` be sure to update it to the last version. It's incompatible with gradle plugin version `3.6.0`. – Mario Codes Jul 03 '20 at 10:44
1

First Take a backup of your project after Migrate your project in AndroidX

  1. Goto Toolbar into Refactor
  2. Goto bottom option and select to Migrate to androidX

And migrate it. Check if the error still happens.

velis
  • 8,747
  • 4
  • 44
  • 64
Praful Korat
  • 374
  • 4
  • 22