Flipper: ClassNotFoundException : OnUnhandledKeyEventListener

Created on 10 Jul 2018  路  21Comments  路  Source: facebook/flipper

07-10 11:37:34.541 11093-11093/? D/SoLoader: init finish: 4 SO sources prepared
init exiting
07-10 11:37:34.543 11093-11109/? D/SoLoader: About to load: libsonarfb.so
libsonarfb.so not found on /data/data/kale.myapplication/lib-main
07-10 11:37:34.544 11093-11109/? D/SoLoader: libsonarfb.so found on /data/app/kale.myapplication-TqQGT0z8JQjr-rowWoGGuQ==/lib/arm64
Not resolving dependencies for libsonarfb.so
07-10 11:37:34.547 11093-11109/? D/SoLoader: Loaded: libsonarfb.so
About to load: libsonar.so
libsonar.so not found on /data/data/kale.myapplication/lib-main
libsonar.so found on /data/app/kale.myapplication-TqQGT0z8JQjr-rowWoGGuQ==/lib/arm64
Not resolving dependencies for libsonar.so
07-10 11:37:34.565 11093-11109/? D/SoLoader: Loaded: libsonar.so
07-10 11:37:34.570 11093-11093/? I/sonar: sonar: SonarClient::addPlugin Inspector
07-10 11:37:34.624 11093-11093/? I/zygote64: Rejecting re-init on previously-failed class java.lang.Class: java.lang.NoClassDefFoundError: Failed resolution of: Landroid/view/View$OnUnhandledKeyEventListener;
at void android.support.v4.view.ViewCompat.setBackground(android.view.View, android.graphics.drawable.Drawable) (ViewCompat.java:2340)
at void android.support.v7.widget.ActionBarContainer.(android.content.Context, android.util.AttributeSet) (ActionBarContainer.java:62)
at java.lang.Object java.lang.reflect.Constructor.newInstance0(java.lang.Object[]) (Constructor.java:-2)
at java.lang.Object java.lang.reflect.Constructor.newInstance(java.lang.Object[]) (Constructor.java:334)
at android.view.View android.view.LayoutInflater.createView(java.lang.String, java.lang.String, android.util.AttributeSet) (LayoutInflater.java:647)
at android.view.View android.view.LayoutInflater.createViewFromTag(android.view.View, java.lang.String, android.content.Context, android.util.AttributeSet, boolean) (LayoutInflater.java:790)
07-10 11:37:34.625 11093-11093/? I/zygote64: at android.view.View android.view.LayoutInflater.createViewFromTag(android.view.View, java.lang.String, android.content.Context, android.util.AttributeSet) (LayoutInflater.java:730)
at void android.view.LayoutInflater.rInflate(org.xmlpull.v1.XmlPullParser, android.view.View, android.content.Context, android.util.AttributeSet, boolean) (LayoutInflater.java:863)
at void android.view.LayoutInflater.rInflateChildren(org.xmlpull.v1.XmlPullParser, android.view.View, android.util.AttributeSet, boolean) (LayoutInflater.java:824)
at android.view.View android.view.LayoutInflater.inflate(org.xmlpull.v1.XmlPullParser, android.view.ViewGroup, boolean) (LayoutInflater.java:515)
at android.view.View android.view.LayoutInflater.inflate(int, android.view.ViewGroup, boolean) (LayoutInflater.java:423)
at android.view.View android.view.LayoutInflater.inflate(int, android.view.ViewGroup) (LayoutInflater.java:374)
at android.view.ViewGroup android.support.v7.app.AppCompatDelegateImpl.createSubDecor() (AppCompatDelegateImpl.java:605)
at void android.support.v7.app.AppCompatDelegateImpl.ensureSubDecor() (AppCompatDelegateImpl.java:516)
at void android.support.v7.app.AppCompatDelegateImpl.setContentView(int) (AppCompatDelegateImpl.java:464)
at void android.support.v7.app.AppCompatActivity.setContentView(int) (AppCompatActivity.java:140)
at void kale.myapplication.MainActivity.onCreate(android.os.Bundle) (MainActivity.java:38)
at void android.app.Activity.performCreate(android.os.Bundle, android.os.PersistableBundle) (Activity.java:7036)
at void android.app.Activity.performCreate(android.os.Bundle) (Activity.java:7027)
at void android.app.Instrumentation.callActivityOnCreate(android.app.Activity, android.os.Bundle) (Instrumentation.java:1231)
at android.app.Activity android.app.ActivityThread.performLaunchActivity(android.app.ActivityThread$ActivityClientRecord, android.content.Intent) (ActivityThread.java:2864)
at void android.app.ActivityThread.handleLaunchActivity(android.app.ActivityThread$ActivityClientRecord, android.content.Intent, java.lang.String) (ActivityThread.java:2989)
at void android.app.ActivityThread.-wrap11(android.app.ActivityThread, android.app.ActivityThread$ActivityClientRecord, android.content.Intent, java.lang.String) (ActivityThread.java:-1)
at void android.app.ActivityThread$H.handleMessage(android.os.Message) (ActivityThread.java:1688)
at void android.os.Handler.dispatchMessage(android.os.Message) (Handler.java:106)
at void android.os.Looper.loop() (Looper.java:164)
at void android.app.ActivityThread.main(java.lang.String[]) (ActivityThread.java:6753)
at java.lang.Object java.lang.reflect.Method.invoke(java.lang.Object, java.lang.Object[]) (Method.java:-2)
at void com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run() (RuntimeInit.java:482)
at void com.android.internal.os.ZygoteInit.main(java.lang.String[]) (ZygoteInit.java:807)
Caused by: java.lang.ClassNotFoundException: Didn't find class "android.view.View$OnUnhandledKeyEventListener" on path: DexPathList[[zip file "/data/app/kale.myapplication-TqQGT0z8JQjr-rowWoGGuQ==/base.apk"],nativeLibraryDirectories=[/data/app/kale.myapplication-TqQGT0z8JQjr-rowWoGGuQ==/lib/arm64, /data/app/kale.myapplication-TqQGT0z8JQjr-rowWoGGuQ==/base.apk!/lib/arm64-v8a, /system/lib64, /system/vendor/lib64]]
at java.lang.Class dalvik.system.BaseDexClassLoader.findClass(java.lang.String) (BaseDexClassLoader.java:125)
at java.lang.Class java.lang.ClassLoader.loadClass(java.lang.String, boolean) (ClassLoader.java:379)
at java.lang.Class java.lang.ClassLoader.loadClass(java.lang.String) (ClassLoader.java:312)
at void android.support.v4.view.ViewCompat.setBackground(android.view.View, android.graphics.drawable.Drawable) (ViewCompat.java:2340)
at void android.support.v7.widget.ActionBarContainer.(android.content.Context, android.util.AttributeSet) (ActionBarContainer.java:62)
at java.lang.Object java.lang.reflect.Constructor.newInstance0(java.lang.Object[]) (Constructor.java:-2)
at java.lang.Object java.lang.reflect.Constructor.newInstance(java.lang.Object[]) (Constructor.java:334)
at android.view.View android.view.LayoutInflater.createView(java.lang.String, java.lang.String, android.util.AttributeSet) (LayoutInflater.java:647)
at android.view.View android.view.LayoutInflater.createViewFromTag(android.view.View, java.lang.String, android.content.Context, android.util.AttributeSet, boolean) (LayoutInflater.java:790)
at android.view.View android.view.LayoutInflater.createViewFromTag(android.view.View, java.lang.String, android.content.Context, android.util.AttributeSet) (LayoutInflater.java:730)
at void android.view.LayoutInflater.rInflate(org.xmlpull.v1.XmlPullParser, android.view.View, android.content.Context, android.util.AttributeSet, boolean) (LayoutInflater.java:863)
at void android.view.LayoutInflater.rInflateChildren(org.xmlpull.v1.XmlPullParser, android.view.View, android.util.AttributeSet, boolean) (LayoutInflater.java:824)
at android.view.View android.view.LayoutInflater.inflate(org.xmlpull.v1.XmlPullParser, android.view.ViewGroup, boolean) (LayoutInflater.java:515)
at android.view.View android.view.LayoutInflater.inflate(int, android.view.ViewGroup, boolean) (LayoutInflater.java:423)
at android.view.View android.view.LayoutInflater.inflate(int, android.view.ViewGroup) (LayoutInflater.java:374)
at android.view.ViewGroup android.support.v7.app.AppCompatDelegateImpl.createSubDecor() (AppCompatDelegateImpl.java:605)
at void android.support.v7.app.AppCompatDelegateImpl.ensureSubDecor() (AppCompatDelegateImpl.java:516)
at void android.support.v7.app.AppCompatDelegateImpl.setContentView(int) (AppCompatDelegateImpl.java:464)
at void android.support.v7.app.AppCompatActivity.setContentView(int) (AppCompatActivity.java:140)
at void kale.myapplication.MainActivity.onCreate(android.os.Bundle) (MainActivity.java:38)
at void android.app.Activity.performCreate(android.os.Bundle, android.os.PersistableBundle) (Activity.java:7036)
at void android.app.Activity.performCreate(android.os.Bundle) (Activity.java:7027)
at void android.app.Instrumentation.callActivityOnCreate(android.app.Activity, android.os.Bundle) (Instrumentation.java:1231)
at android.app.Activity android.app.ActivityThread.performLaunchActivity(android.app.ActivityThread$ActivityClientRecord, android.content.Intent) (ActivityThread.java:2864)
at void android.app.ActivityThread.handleLaunchActivity(android.app.ActivityThread$ActivityClientRecord, android.content.Intent, java.lang.String) (ActivityThread.java:2989)
at void android.app.ActivityThread.-wrap11(android.app.ActivityThread, android.app.ActivityThread$ActivityClientRecord, android.content.Intent, java.lang.String) (ActivityThread.java:-1)
at void android.app.ActivityThread$H.handleMessage(android.os.Message) (ActivityThread.java:1688)
at void android.os.Handler.dispatchMessage(android.os.Message) (Handler.java:106)
at void android.os.Looper.loop() (Looper.java:164)
at void android.app.ActivityThread.main(java.lang.String[]) (ActivityThread.java:6753)
at java.lang.Object java.lang.reflect.Method.invoke(java.lang.Object, java.lang.Object[]) (Method.java:-2)
at void com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run() (RuntimeInit.java:482)
at void com.android.internal.os.ZygoteInit.main(java.lang.String[]) (ZygoteInit.java:807)

gradle:

compileSdkVersion 28

    defaultConfig {
        applicationId "kale.myapplication"
        minSdkVersion 16
        targetSdkVersion 28
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }

}

Most helpful comment

fixed by:

configurations.all {
    resolutionStrategy.eachDependency { DependencyResolveDetails details ->
        def requested = details.requested
        if (requested.group == "com.android.support") {
            if (!requested.name.startsWith("multidex")) {
                details.useVersion "26.+"
            }
        }
    }
}

All 21 comments

fixed by:

configurations.all {
    resolutionStrategy.eachDependency { DependencyResolveDetails details ->
        def requested = details.requested
        if (requested.group == "com.android.support") {
            if (!requested.name.startsWith("multidex")) {
                details.useVersion "26.+"
            }
        }
    }
}

The answer from @tianzhijiexian didn't work for me. I got a similar error using androidx:

I/art: Rejecting re-init on previously-failed class java.lang.Class: java.lang.NoClassDefFoundError: Failed resolution of: Landroid/view/View$OnUnhandledKeyEventListener;
at void androidx.core.view.ViewCompat.setBackground(android.view.View, android.graphics.drawable.Drawable) (ViewCompat.java:2341)
at void androidx.appcompat.widget.ActionBarContainer.(android.content.Context, android.util.AttributeSet) (ActionBarContainer.java:62)
at java.lang.Object java.lang.reflect.Constructor.newInstance0!(java.lang.Object[]) (Constructor.java:-2)
at java.lang.Object java.lang.reflect.Constructor.newInstance(java.lang.Object[]) (Constructor.java:430)
at android.view.View android.view.LayoutInflater.createView(java.lang.String, java.lang.String, android.util.AttributeSet) (LayoutInflater.java:652)
at android.view.View android.view.LayoutInflater.createViewFromTag(android.view.View, java.lang.String, android.content.Context, android.util.AttributeSet, boolean) (LayoutInflater.java:812)
at android.view.View android.view.LayoutInflater.createViewFromTag(android.view.View, java.lang.String, android.content.Context, android.util.AttributeSet) (LayoutInflater.java:752)
at void android.view.LayoutInflater.rInflate(org.xmlpull.v1.XmlPullParser, android.view.View, android.content.Context, android.util.AttributeSet, boolean) (LayoutInflater.java:883)
at void android.view.LayoutInflater.rInflateChildren(org.xmlpull.v1.XmlPullParser, android.view.View, android.util.AttributeSet, boolean) (LayoutInflater.java:846)
at android.view.View android.view.LayoutInflater.inflate(org.xmlpull.v1.XmlPullParser, android.view.ViewGroup, boolean) [XposedOriginal] (LayoutInflater.java:522)
at java.lang.Object de.robv.android.xposed.XposedBridge.invokeOriginalMethodNative!(java.lang.reflect.Member, int, java.lang.Class[], java.lang.Class, java.lang.Object, java.lang.Object[]) (XposedBridge.java:-2)
at java.lang.Object de.robv.android.xposed.XposedBridge.handleHookedMethod(java.lang.reflect.Member, int, java.lang.Object, java.lang.Object, java.lang.Object[]) (XposedBridge.java:360)
I/art: at android.view.View android.view.LayoutInflater.inflate(org.xmlpull.v1.XmlPullParser, android.view.ViewGroup, boolean) [XposedHooked] (:-1)
at android.view.View android.view.LayoutInflater.inflate(int, android.view.ViewGroup, boolean) (LayoutInflater.java:430)
at android.view.View android.view.LayoutInflater.inflate(int, android.view.ViewGroup) (LayoutInflater.java:377)
at android.view.ViewGroup androidx.appcompat.app.AppCompatDelegateImpl.createSubDecor() (AppCompatDelegateImpl.java:607)
at void androidx.appcompat.app.AppCompatDelegateImpl.ensureSubDecor() (AppCompatDelegateImpl.java:518)
at void androidx.appcompat.app.AppCompatDelegateImpl.setContentView(int) (AppCompatDelegateImpl.java:466)
at void androidx.appcompat.app.AppCompatActivity.setContentView(int) (AppCompatActivity.java:140)
at void com.sterbsociety.orarisapienza.activities.MainActivity.onCreate(android.os.Bundle) (MainActivity.java:14)
at void android.app.Activity.performCreate(android.os.Bundle) (Activity.java:6858)
at void android.app.Instrumentation.callActivityOnCreate(android.app.Activity, android.os.Bundle) (Instrumentation.java:1119)
at android.app.Activity android.app.ActivityThread.performLaunchActivity(android.app.ActivityThread$ActivityClientRecord, android.content.Intent) (ActivityThread.java:2677)
at void android.app.ActivityThread.handleLaunchActivity(android.app.ActivityThread$ActivityClientRecord, android.content.Intent, java.lang.String) (ActivityThread.java:2785)
at void android.app.ActivityThread.-wrap12(android.app.ActivityThread, android.app.ActivityThread$ActivityClientRecord, android.content.Intent, java.lang.String) (ActivityThread.java:-1)
at void android.app.ActivityThread$H.handleMessage(android.os.Message) (ActivityThread.java:1532)
at void android.os.Handler.dispatchMessage(android.os.Message) (Handler.java:102)
at void android.os.Looper.loop() (Looper.java:163)
at void android.app.ActivityThread.main(java.lang.String[]) (ActivityThread.java:6337)
at java.lang.Object java.lang.reflect.Method.invoke!(java.lang.Object, java.lang.Object[]) (Method.java:-2)
at void com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run() (ZygoteInit.java:880)
at void com.android.internal.os.ZygoteInit.main(java.lang.String[]) (ZygoteInit.java:770)
at void de.robv.android.xposed.XposedBridge.main(java.lang.String[]) (XposedBridge.java:107)
Caused by: java.lang.ClassNotFoundException: Didn't find class "android.view.View$OnUnhandledKeyEventListener" on path: DexPathList[[zip file "/data/app/com.sterbsociety.orarisapienza-2/base.apk"],nativeLibraryDirectories=[/data/app/com.sterbsociety.orarisapienza-2/lib/arm64, /data/app/com.sterbsociety.orarisapienza-2/base.apk!/lib/arm64-v8a, /system/lib64, /vendor/lib64]]
at java.lang.Class dalvik.system.BaseDexClassLoader.findClass(java.lang.String) (BaseDexClassLoader.java:56)
at java.lang.Class java.lang.ClassLoader.loadClass(java.lang.String, boolean) (ClassLoader.java:380)
at java.lang.Class java.lang.ClassLoader.loadClass(java.lang.String) (ClassLoader.java:312)
at void androidx.core.view.ViewCompat.setBackground(android.view.View, android.graphics.drawable.Drawable) (ViewCompat.java:2341)
at void androidx.appcompat.widget.ActionBarContainer.(android.content.Context, android.util.AttributeSet) (ActionBarContainer.java:62)
at java.lang.Object java.lang.reflect.Constructor.newInstance0!(java.lang.Object[]) (Constructor.java:-2)
at java.lang.Object java.lang.reflect.Constructor.newInstance(java.lang.Object[]) (Constructor.java:430)
I/art: at android.view.View android.view.LayoutInflater.createView(java.lang.String, java.lang.String, android.util.AttributeSet) (LayoutInflater.java:652)
at android.view.View android.view.LayoutInflater.createViewFromTag(android.view.View, java.lang.String, android.content.Context, android.util.AttributeSet, boolean) (LayoutInflater.java:812)
at android.view.View android.view.LayoutInflater.createViewFromTag(android.view.View, java.lang.String, android.content.Context, android.util.AttributeSet) (LayoutInflater.java:752)
at void android.view.LayoutInflater.rInflate(org.xmlpull.v1.XmlPullParser, android.view.View, android.content.Context, android.util.AttributeSet, boolean) (LayoutInflater.java:883)
at void android.view.LayoutInflater.rInflateChildren(org.xmlpull.v1.XmlPullParser, android.view.View, android.util.AttributeSet, boolean) (LayoutInflater.java:846)
at android.view.View android.view.LayoutInflater.inflate(org.xmlpull.v1.XmlPullParser, android.view.ViewGroup, boolean) [XposedOriginal] (LayoutInflater.java:522)
at java.lang.Object de.robv.android.xposed.XposedBridge.invokeOriginalMethodNative!(java.lang.reflect.Member, int, java.lang.Class[], java.lang.Class, java.lang.Object, java.lang.Object[]) (XposedBridge.java:-2)
at java.lang.Object de.robv.android.xposed.XposedBridge.handleHookedMethod(java.lang.reflect.Member, int, java.lang.Object, java.lang.Object, java.lang.Object[]) (XposedBridge.java:360)
at android.view.View android.view.LayoutInflater.inflate(org.xmlpull.v1.XmlPullParser, android.view.ViewGroup, boolean) [XposedHooked] (:-1)
at android.view.View android.view.LayoutInflater.inflate(int, android.view.ViewGroup, boolean) (LayoutInflater.java:430)
at android.view.View android.view.LayoutInflater.inflate(int, android.view.ViewGroup) (LayoutInflater.java:377)
at android.view.ViewGroup androidx.appcompat.app.AppCompatDelegateImpl.createSubDecor() (AppCompatDelegateImpl.java:607)
at void androidx.appcompat.app.AppCompatDelegateImpl.ensureSubDecor() (AppCompatDelegateImpl.java:518)
at void androidx.appcompat.app.AppCompatDelegateImpl.setContentView(int) (AppCompatDelegateImpl.java:466)
at void androidx.appcompat.app.AppCompatActivity.setContentView(int) (AppCompatActivity.java:140)
at void com.sterbsociety.orarisapienza.activities.MainActivity.onCreate(android.os.Bundle) (MainActivity.java:14)
at void android.app.Activity.performCreate(android.os.Bundle) (Activity.java:6858)
at void android.app.Instrumentation.callActivityOnCreate(android.app.Activity, android.os.Bundle) (Instrumentation.java:1119)
at android.app.Activity android.app.ActivityThread.performLaunchActivity(android.app.ActivityThread$ActivityClientRecord, android.content.Intent) (ActivityThread.java:2677)
at void android.app.ActivityThread.handleLaunchActivity(android.app.ActivityThread$ActivityClientRecord, android.content.Intent, java.lang.String) (ActivityThread.java:2785)
at void android.app.ActivityThread.-wrap12(android.app.ActivityThread, android.app.ActivityThread$ActivityClientRecord, android.content.Intent, java.lang.String) (ActivityThread.java:-1)
at void android.app.ActivityThread$H.handleMessage(android.os.Message) (ActivityThread.java:1532)
at void android.os.Handler.dispatchMessage(android.os.Message) (Handler.java:102)
at void android.os.Looper.loop() (Looper.java:163)
at void android.app.ActivityThread.main(java.lang.String[]) (ActivityThread.java:6337)
at java.lang.Object java.lang.reflect.Method.invoke!(java.lang.Object, java.lang.Object[]) (Method.java:-2)
at void com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run() (ZygoteInit.java:880)
at void com.android.internal.os.ZygoteInit.main(java.lang.String[]) (ZygoteInit.java:770)
at void de.robv.android.xposed.XposedBridge.main(java.lang.String[]) (XposedBridge.java:107)

Any idea?

Here I see the same that you've posted before. I'm talking of configurations.all { ... }.
Anyway I copied this part into my build.gradle but the problem still occurs. Where am I wrong?

I have same problem. Is anybody resolve problem?

it worked for me, thanks!.

fixed by:

configurations.all {
    resolutionStrategy.eachDependency { DependencyResolveDetails details ->
        def requested = details.requested
        if (requested.group == "com.android.support") {
            if (!requested.name.startsWith("multidex")) {
                details.useVersion "26.+"
            }
        }
    }
}

fixed by:

configurations.all {
    resolutionStrategy.eachDependency { DependencyResolveDetails details ->
        def requested = details.requested
        if (requested.group == "com.android.support") {
            if (!requested.name.startsWith("multidex")) {
                details.useVersion "26.+"
            }
        }
    }
}

It works for me! Thanks!

In case you're using androidx:

configurations.all {
    resolutionStrategy.eachDependency { DependencyResolveDetails details ->
        def requested = details.requested
        if (requested.group == "androidx") {
            if (!requested.name.startsWith("multidex")) {
                details.useVersion "${targetSdk}.+"
            }
        }
    }
}

after this warning appears the google material design style won't apply on MaterialCardView!! any suggestions how to fix it and why this happening?

In case you're using androidx:

configurations.all {
    resolutionStrategy.eachDependency { DependencyResolveDetails details ->
        def requested = details.requested
        if (requested.group == "androidx") {
            if (!requested.name.startsWith("multidex")) {
                details.useVersion "${targetSdk}.+"
            }
        }
    }
}

Where to put the code?

@stonyz put in your (Module) build.gradle file (drop it in the end after dependencies {...}

@stonyz/@FireZenk
I don't see how your gradle code can possible solve this annoying issue when
the no artifacts have a group name of "androidx". This will never be true:

 if (requested.group == "androidx") {

Also, your code specifies

    details.useVersion "${targetSdk}.+"

when it should be

    details.useVersion "${targetSdkVersion}.+"

But that won't work either since none of the androidx artifacts use the targetSdkVersion.
And no single version will work for all androidx artifacts as you can see from this table the versions are different based on the artifact:

activity | August 7, 2019 | - | 1.0.0-rc01 | - | 1.1.0-alpha02
-- | -- | -- | -- | -- | --
ads | August 7, 2019 | - | - | - | 1.0.0-alpha01
annotation | June 5, 2019 | 1.1.0 | - | - | -
appcompat | July 2, 2019 | 1.0.2 | 1.1.0-rc01 | - | -
arch | July 2, 2019 | 2.0.1 | 2.1.0-rc01 | - | -
asynclayoutinflater | September 21, 2018 | 1.0.0 | - | - | -
autofill | August 7, 2019 | - | - | - | 1.0.0-alpha02
...

Androidx Versions

Even if this code worked, it's a really bad idea to override every version.
Rarely will you be able to remain on the same version for all artifacts.

gradle code to dump androidx dependencies in format: path group : artifact : version

List<String> lst = new ArrayList<String>()
configurations.all {
    resolutionStrategy.eachDependency { DependencyResolveDetails details ->
        def requested = details.requested
        if (requested.group.startsWith("androidx.")) {
            lst.add(getPath() + "\t" +requested.group + ":" + requested.name + ":" + requested.version)
        }
    }
    if (lst.size) { Collections.sort(lst); System.out.println(lst.join("\n")) }
}

Example output:

:app:debugCompileClasspath  androidx.activity:activity:1.0.0-rc01
:app:debugCompileClasspath  androidx.activity:activity:1.0.0-rc01
:app:debugCompileClasspath  androidx.annotation:annotation:1.0.0
:app:debugCompileClasspath  androidx.annotation:annotation:1.0.1
:app:debugCompileClasspath  androidx.annotation:annotation:1.0.2
:app:debugCompileClasspath  androidx.annotation:annotation:1.1.0
:app:debugCompileClasspath  androidx.annotation:annotation:1.1.0
:app:debugCompileClasspath  androidx.annotation:annotation:1.1.0-rc01
:app:debugCompileClasspath  androidx.appcompat:appcompat-resources:1.1.0-rc01
...

@stonyz/@FireZenk
I don't see how your gradle code can possible solve this annoying issue when
the no artifacts have a group name of "androidx". This will never be true:

 if (requested.group == "androidx") {

Also, your code specifies

    details.useVersion "${targetSdk}.+"

when it should be

    details.useVersion "${targetSdkVersion}.+"

But that won't work either since none of the androidx artifacts use the targetSdkVersion.
And no single version will work for all androidx artifacts as you can see from this table the versions are different based on the artifact:

activity August 7, 2019 - 1.0.0-rc01 - 1.1.0-alpha02
ads August 7, 2019 - - - 1.0.0-alpha01
annotation June 5, 2019 1.1.0 - - -
appcompat July 2, 2019 1.0.2 1.1.0-rc01 - -
arch July 2, 2019 2.0.1 2.1.0-rc01 - -
asynclayoutinflater September 21, 2018 1.0.0 - - -
autofill August 7, 2019 - - - 1.0.0-alpha02
...
Androidx Versions

Even if this code worked, it's a really bad idea to override every version.
Rarely will you be able to remain on the same version for all artifacts.

gradle code to dump androidx dependencies in format: path group : artifact : version

List<String> lst = new ArrayList<String>()
configurations.all {
    resolutionStrategy.eachDependency { DependencyResolveDetails details ->
        def requested = details.requested
        if (requested.group.startsWith("androidx.")) {
            lst.add(getPath() + "\t" +requested.group + ":" + requested.name + ":" + requested.version)
        }
    }
    if (lst.size) { Collections.sort(lst); System.out.println(lst.join("\n")) }
}

Example output:

:app:debugCompileClasspath    androidx.activity:activity:1.0.0-rc01
:app:debugCompileClasspath    androidx.activity:activity:1.0.0-rc01
:app:debugCompileClasspath    androidx.annotation:annotation:1.0.0
:app:debugCompileClasspath    androidx.annotation:annotation:1.0.1
:app:debugCompileClasspath    androidx.annotation:annotation:1.0.2
:app:debugCompileClasspath    androidx.annotation:annotation:1.1.0
:app:debugCompileClasspath    androidx.annotation:annotation:1.1.0
:app:debugCompileClasspath    androidx.annotation:annotation:1.1.0-rc01
:app:debugCompileClasspath    androidx.appcompat:appcompat-resources:1.1.0-rc01
...

Still won't do

In case you're using androidx:

configurations.all {
    resolutionStrategy.eachDependency { DependencyResolveDetails details ->
        def requested = details.requested
        if (requested.group == "androidx") {
            if (!requested.name.startsWith("multidex")) {
                details.useVersion "${targetSdk}.+"
            }
        }
    }
}

Still won't do

Still won't do

That's my point. There is no fix for androidx,
except maybe forcing everyone to use a very recent SDK
which is not a real solution.

https://issuetracker.google.com/issues/120750246

Still won't do

That's my point. There is no fix for androidx,
except maybe forcing everyone to use a very recent SDK
which is not a real solution.

https://issuetracker.google.com/issues/120750246

there is no fix its just an informational message. Should not be crashing the app.

This is stupid beyond reason, updated studio, updated gradle, I have the latest everything still happens? Wtf?! I have video layout in main launch activity that's reporting this error, it's bull**

07-10 11:37:34.541 11093-11093/? D/SoLoader: init finish: 4 SO sources prepared
init exiting
07-10 11:37:34.543 11093-11109/? D/SoLoader: About to load: libsonarfb.so
libsonarfb.so not found on /data/data/kale.myapplication/lib-main
07-10 11:37:34.544 11093-11109/? D/SoLoader: libsonarfb.so found on /data/app/kale.myapplication-TqQGT0z8JQjr-rowWoGGuQ==/lib/arm64
Not resolving dependencies for libsonarfb.so
07-10 11:37:34.547 11093-11109/? D/SoLoader: Loaded: libsonarfb.so
About to load: libsonar.so
libsonar.so not found on /data/data/kale.myapplication/lib-main
libsonar.so found on /data/app/kale.myapplication-TqQGT0z8JQjr-rowWoGGuQ==/lib/arm64
Not resolving dependencies for libsonar.so
07-10 11:37:34.565 11093-11109/? D/SoLoader: Loaded: libsonar.so
07-10 11:37:34.570 11093-11093/? I/sonar: sonar: SonarClient::addPlugin Inspector
07-10 11:37:34.624 11093-11093/? I/zygote64: Rejecting re-init on previously-failed class java.lang.Class: java.lang.NoClassDefFoundError: Failed resolution of: Landroid/view/View$OnUnhandledKeyEventListener;
at void android.support.v4.view.ViewCompat.setBackground(android.view.View, android.graphics.drawable.Drawable) (ViewCompat.java:2340)
at void android.support.v7.widget.ActionBarContainer.(android.content.Context, android.util.AttributeSet) (ActionBarContainer.java:62)
at java.lang.Object java.lang.reflect.Constructor.newInstance0(java.lang.Object[]) (Constructor.java:-2)
at java.lang.Object java.lang.reflect.Constructor.newInstance(java.lang.Object[]) (Constructor.java:334)
at android.view.View android.view.LayoutInflater.createView(java.lang.String, java.lang.String, android.util.AttributeSet) (LayoutInflater.java:647)
at android.view.View android.view.LayoutInflater.createViewFromTag(android.view.View, java.lang.String, android.content.Context, android.util.AttributeSet, boolean) (LayoutInflater.java:790)
07-10 11:37:34.625 11093-11093/? I/zygote64: at android.view.View android.view.LayoutInflater.createViewFromTag(android.view.View, java.lang.String, android.content.Context, android.util.AttributeSet) (LayoutInflater.java:730)
at void android.view.LayoutInflater.rInflate(org.xmlpull.v1.XmlPullParser, android.view.View, android.content.Context, android.util.AttributeSet, boolean) (LayoutInflater.java:863)
at void android.view.LayoutInflater.rInflateChildren(org.xmlpull.v1.XmlPullParser, android.view.View, android.util.AttributeSet, boolean) (LayoutInflater.java:824)
at android.view.View android.view.LayoutInflater.inflate(org.xmlpull.v1.XmlPullParser, android.view.ViewGroup, boolean) (LayoutInflater.java:515)
at android.view.View android.view.LayoutInflater.inflate(int, android.view.ViewGroup, boolean) (LayoutInflater.java:423)
at android.view.View android.view.LayoutInflater.inflate(int, android.view.ViewGroup) (LayoutInflater.java:374)
at android.view.ViewGroup android.support.v7.app.AppCompatDelegateImpl.createSubDecor() (AppCompatDelegateImpl.java:605)
at void android.support.v7.app.AppCompatDelegateImpl.ensureSubDecor() (AppCompatDelegateImpl.java:516)
at void android.support.v7.app.AppCompatDelegateImpl.setContentView(int) (AppCompatDelegateImpl.java:464)
at void android.support.v7.app.AppCompatActivity.setContentView(int) (AppCompatActivity.java:140)
at void kale.myapplication.MainActivity.onCreate(android.os.Bundle) (MainActivity.java:38)
at void android.app.Activity.performCreate(android.os.Bundle, android.os.PersistableBundle) (Activity.java:7036)
at void android.app.Activity.performCreate(android.os.Bundle) (Activity.java:7027)
at void android.app.Instrumentation.callActivityOnCreate(android.app.Activity, android.os.Bundle) (Instrumentation.java:1231)
at android.app.Activity android.app.ActivityThread.performLaunchActivity(android.app.ActivityThread$ActivityClientRecord, android.content.Intent) (ActivityThread.java:2864)
at void android.app.ActivityThread.handleLaunchActivity(android.app.ActivityThread$ActivityClientRecord, android.content.Intent, java.lang.String) (ActivityThread.java:2989)
at void android.app.ActivityThread.-wrap11(android.app.ActivityThread, android.app.ActivityThread$ActivityClientRecord, android.content.Intent, java.lang.String) (ActivityThread.java:-1)
at void android.app.ActivityThread$H.handleMessage(android.os.Message) (ActivityThread.java:1688)
at void android.os.Handler.dispatchMessage(android.os.Message) (Handler.java:106)
at void android.os.Looper.loop() (Looper.java:164)
at void android.app.ActivityThread.main(java.lang.String[]) (ActivityThread.java:6753)
at java.lang.Object java.lang.reflect.Method.invoke(java.lang.Object, java.lang.Object[]) (Method.java:-2)
at void com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run() (RuntimeInit.java:482)
at void com.android.internal.os.ZygoteInit.main(java.lang.String[]) (ZygoteInit.java:807)
Caused by: java.lang.ClassNotFoundException: Didn't find class "android.view.View$OnUnhandledKeyEventListener" on path: DexPathList[[zip file "/data/app/kale.myapplication-TqQGT0z8JQjr-rowWoGGuQ==/base.apk"],nativeLibraryDirectories=[/data/app/kale.myapplication-TqQGT0z8JQjr-rowWoGGuQ==/lib/arm64, /data/app/kale.myapplication-TqQGT0z8JQjr-rowWoGGuQ==/base.apk!/lib/arm64-v8a, /system/lib64, /system/vendor/lib64]]
at java.lang.Class dalvik.system.BaseDexClassLoader.findClass(java.lang.String) (BaseDexClassLoader.java:125)
at java.lang.Class java.lang.ClassLoader.loadClass(java.lang.String, boolean) (ClassLoader.java:379)
at java.lang.Class java.lang.ClassLoader.loadClass(java.lang.String) (ClassLoader.java:312)
at void android.support.v4.view.ViewCompat.setBackground(android.view.View, android.graphics.drawable.Drawable) (ViewCompat.java:2340)
at void android.support.v7.widget.ActionBarContainer.(android.content.Context, android.util.AttributeSet) (ActionBarContainer.java:62)
at java.lang.Object java.lang.reflect.Constructor.newInstance0(java.lang.Object[]) (Constructor.java:-2)
at java.lang.Object java.lang.reflect.Constructor.newInstance(java.lang.Object[]) (Constructor.java:334)
at android.view.View android.view.LayoutInflater.createView(java.lang.String, java.lang.String, android.util.AttributeSet) (LayoutInflater.java:647)
at android.view.View android.view.LayoutInflater.createViewFromTag(android.view.View, java.lang.String, android.content.Context, android.util.AttributeSet, boolean) (LayoutInflater.java:790)
at android.view.View android.view.LayoutInflater.createViewFromTag(android.view.View, java.lang.String, android.content.Context, android.util.AttributeSet) (LayoutInflater.java:730)
at void android.view.LayoutInflater.rInflate(org.xmlpull.v1.XmlPullParser, android.view.View, android.content.Context, android.util.AttributeSet, boolean) (LayoutInflater.java:863)
at void android.view.LayoutInflater.rInflateChildren(org.xmlpull.v1.XmlPullParser, android.view.View, android.util.AttributeSet, boolean) (LayoutInflater.java:824)
at android.view.View android.view.LayoutInflater.inflate(org.xmlpull.v1.XmlPullParser, android.view.ViewGroup, boolean) (LayoutInflater.java:515)
at android.view.View android.view.LayoutInflater.inflate(int, android.view.ViewGroup, boolean) (LayoutInflater.java:423)
at android.view.View android.view.LayoutInflater.inflate(int, android.view.ViewGroup) (LayoutInflater.java:374)
at android.view.ViewGroup android.support.v7.app.AppCompatDelegateImpl.createSubDecor() (AppCompatDelegateImpl.java:605)
at void android.support.v7.app.AppCompatDelegateImpl.ensureSubDecor() (AppCompatDelegateImpl.java:516)
at void android.support.v7.app.AppCompatDelegateImpl.setContentView(int) (AppCompatDelegateImpl.java:464)
at void android.support.v7.app.AppCompatActivity.setContentView(int) (AppCompatActivity.java:140)
at void kale.myapplication.MainActivity.onCreate(android.os.Bundle) (MainActivity.java:38)
at void android.app.Activity.performCreate(android.os.Bundle, android.os.PersistableBundle) (Activity.java:7036)
at void android.app.Activity.performCreate(android.os.Bundle) (Activity.java:7027)
at void android.app.Instrumentation.callActivityOnCreate(android.app.Activity, android.os.Bundle) (Instrumentation.java:1231)
at android.app.Activity android.app.ActivityThread.performLaunchActivity(android.app.ActivityThread$ActivityClientRecord, android.content.Intent) (ActivityThread.java:2864)
at void android.app.ActivityThread.handleLaunchActivity(android.app.ActivityThread$ActivityClientRecord, android.content.Intent, java.lang.String) (ActivityThread.java:2989)
at void android.app.ActivityThread.-wrap11(android.app.ActivityThread, android.app.ActivityThread$ActivityClientRecord, android.content.Intent, java.lang.String) (ActivityThread.java:-1)
at void android.app.ActivityThread$H.handleMessage(android.os.Message) (ActivityThread.java:1688)
at void android.os.Handler.dispatchMessage(android.os.Message) (Handler.java:106)
at void android.os.Looper.loop() (Looper.java:164)
at void android.app.ActivityThread.main(java.lang.String[]) (ActivityThread.java:6753)
at java.lang.Object java.lang.reflect.Method.invoke(java.lang.Object, java.lang.Object[]) (Method.java:-2)
at void com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run() (RuntimeInit.java:482)
at void com.android.internal.os.ZygoteInit.main(java.lang.String[]) (ZygoteInit.java:807)

gradle:

compileSdkVersion 28

    defaultConfig {
        applicationId "kale.myapplication"
        minSdkVersion 16
        targetSdkVersion 28
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }

}

Thanks a lot man

My solution

build.gradle.kts

configurations.all {
    resolutionStrategy.eachDependency {
        val requested = this.requested
        if (requested.group == "androidx.appcompat") {
            if (!requested.name.startsWith("multidex")) {
                this.useVersion("1.+")
            }
        }
    }
}

In case you're using androidx:

configurations.all {
    resolutionStrategy.eachDependency { DependencyResolveDetails details ->
        def requested = details.requested
        if (requested.group == "androidx") {
            if (!requested.name.startsWith("multidex")) {
                details.useVersion "${targetSdk}.+"
            }
        }
    }
}

I using androidx in kotlin
It's work for me, Thanks

Was this page helpful?
0 / 5 - 0 ratings