android-maps-utils icon indicating copy to clipboard operation
android-maps-utils copied to clipboard

java.lang.NoClassDefFoundError: Failed resolution of: Landroidx/core/content/ContextCompat

Open marshallellis opened this issue 5 years ago • 2 comments

Thanks for stopping by to let us know something could be better!


PLEASE READ

If you have a support contract with Google, please create an issue in the support console. This will ensure a timely response.

Discover additional support services for the Google Maps Platform, including developer communities, technical guidance, and expert support at the Google Maps Platform support resources page.

If your bug or feature request is not related to this particular library, please visit the Google Maps Platform issue trackers.

Check for answers on StackOverflow with the google-maps tag.


Please be sure to include as much information as possible:

Summary

Having issue instantiating IconGenerator. Compiles ok but crashes at runtime.

Expected behavior

Adding a marker with the icon generator.

Observed behavior

Crash

Environment details

Emulator Android 8.1 Using BETA utils with Maps SDK V3.1 BETA implementation 'com.google.android.libraries.maps:maps:3.1.0-beta' implementation 'com.google.maps.android:android-maps-utils-v3:1.3.1'

Steps to reproduce

Simply try adding an instance in the onmapready callback

Code example

                        IconGenerator ig = new IconGenerator(DCCClientActivity.app);
                        ig.setStyle(IconGenerator.STYLE_WHITE);
                        MarkerOptions mo = new MarkerOptions()
                                .icon(BitmapDescriptorFactory.fromBitmap(ig.makeIcon(entry.getKey())))
                                .position(label_area_builder.build().getCenter())
                                .anchor(ig.getAnchorU(), ig.getAnchorV());
                        map.addMarker(mo);

Stack trace

E/AndroidRuntime: FATAL EXCEPTION: main Process: com.dcc.std_client, PID: 21084 java.lang.NoClassDefFoundError: Failed resolution of: Landroidx/core/content/ContextCompat; at com.google.maps.android.ui.BubbleDrawable.(BubbleDrawable.java:43) at com.google.maps.android.ui.IconGenerator.(IconGenerator.java:60) at com.dcc.std_client.dccgeomaps$1.onMapReady(dccgeomaps.java:199) at com.google.android.libraries.maps.zzac.zza(Unknown Source:2) at com.google.android.libraries.maps.ka.zzbc.run(Unknown Source:3) at android.os.Handler.handleCallback(Handler.java:790) at android.os.Handler.dispatchMessage(Handler.java:99) 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 "androidx.core.content.ContextCompat" on path: DexPathList[[zip file "/data/app/com.dcc.std_client-rqUE7ihBQng5gkrQ0VioYQ==/base.apk"],nativeLibraryDirectories=[/data/app/com.dcc.std_client-rqUE7ihBQng5gkrQ0VioYQ==/lib/x86, /data/app/com.dcc.std_client-rqUE7ihBQng5gkrQ0VioYQ==/base.apk!/lib/x86, /system/lib, /vendor/lib]] 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 com.google.maps.android.ui.BubbleDrawable.(BubbleDrawable.java:43)  at com.google.maps.android.ui.IconGenerator.(IconGenerator.java:60)  at com.dcc.std_client.dccgeomaps$1.onMapReady(dccgeomaps.java:199)  at com.google.android.libraries.maps.zzac.zza(Unknown Source:2)  at com.google.android.libraries.maps.ka.zzbc.run(Unknown Source:3)  at android.os.Handler.handleCallback(Handler.java:790)  at android.os.Handler.dispatchMessage(Handler.java:99)  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) 

Following these steps will guarantee the quickest resolution possible.

Thanks!

marshallellis avatar Sep 13 '20 21:09 marshallellis

Have you ensured AndroidX core is explicitly listed in your Gradle dependencies list? https://developer.android.com/jetpack/androidx/releases/core

implementation "androidx.core:core:$core_version"

sid6mathur avatar Sep 22 '20 08:09 sid6mathur

This is probably due to the the jetifier not being enabled. @marshallellis can you ensure that you have the following flags in your gradle.properties file?

android.useAndroidX=true
android.enableJetifier=true

arriolac avatar Sep 28 '20 18:09 arriolac

Seems like this might be resolved.

wangela avatar Sep 14 '22 08:09 wangela