Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ClassNotFoundException : OnUnhandledKeyEventListener #146

Closed
kaleai opened this issue Jul 10, 2018 · 22 comments
Closed

ClassNotFoundException : OnUnhandledKeyEventListener #146

kaleai opened this issue Jul 10, 2018 · 22 comments

Comments

@kaleai
Copy link

kaleai commented Jul 10, 2018

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<android.support.v4.view.ViewCompat$OnUnhandledKeyEventListenerWrapper>: 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"
    }

}
@kaleai
Copy link
Author

kaleai commented Jul 10, 2018

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.+"
            }
        }
    }
}

@kaleai kaleai closed this as completed Jul 10, 2018
@LeonardoEmili
Copy link

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<androidx.core.view.ViewCompat$OnUnhandledKeyEventListenerWrapper>: 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)

@LeonardoEmili
Copy link

Any idea?

@kaleai
Copy link
Author

kaleai commented Jul 30, 2018

@LeonardoEmili
Copy link

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?

@N-i-p-o-l
Copy link

I have same problem. Is anybody resolve problem?

@adiazmansilla
Copy link

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.+"
            }
        }
    }
}

@given131
Copy link

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!

@FireZenk
Copy link

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}.+"
            }
        }
    }
}

@QADOOMI
Copy link

QADOOMI commented Jul 13, 2019

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

@stonyz
Copy link

stonyz commented Aug 7, 2019

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?

@vedmack
Copy link

vedmack commented Aug 7, 2019

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

@systemsplanet-zz
Copy link

systemsplanet-zz commented Sep 2, 2019

@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
...

@faith-hb
Copy link

faith-hb commented Sep 6, 2019

@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

@faith-hb
Copy link

faith-hb commented Sep 6, 2019

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

@systemsplanet-zz
Copy link

systemsplanet-zz commented Sep 6, 2019

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

@E-Mwaurer
Copy link

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.

@emailsubjekt
Copy link

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****

@harsh2110rj
Copy link

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<android.support.v4.view.ViewCompat$OnUnhandledKeyEventListenerWrapper>: 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

@mcauto
Copy link

mcauto commented Jun 5, 2020

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.+")
            }
        }
    }
}

@MarcusLiu1990
Copy link

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

@ruialves35
Copy link

Why is this closed if there are still problems about it? It still doesn't work just like @systemsplanet-zz stated

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests