5

I'm trying to use Hazelcast on Android. I can include the dependency and the predefined "Hello World" will show up nicely without error. As soon as I put this code into my Activity (i.e. starting to use Hazelcast) it gives me an error:

Code:

protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        Config cfg = new Config();
        HazelcastInstance instance = Hazelcast.newHazelcastInstance(cfg);
    }

Stacktrace

I/art: 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.<init>(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:794)
           at android.view.View android.view.LayoutInflater.createViewFromTag(android.view.View, java.lang.String, android.content.Context, android.util.AttributeSet) (LayoutInflater.java:734)
           at void android.view.LayoutInflater.rInflate(org.xmlpull.v1.XmlPullParser, android.view.View, android.content.Context, android.util.AttributeSet, boolean) (LayoutInflater.java:865)
           at void android.view.LayoutInflater.rInflateChildren(org.xmlpull.v1.XmlPullParser, android.view.View, android.util.AttributeSet, boolean) (LayoutInflater.java:828)
           at android.view.View android.view.LayoutInflater.inflate(org.xmlpull.v1.XmlPullParser, android.view.ViewGroup, boolean) (LayoutInflater.java:525)
           at android.view.View android.view.LayoutInflater.inflate(int, android.view.ViewGroup, boolean) (LayoutInflater.java:427)
I/art:     at android.view.View android.view.LayoutInflater.inflate(int, android.view.ViewGroup) (LayoutInflater.java:378)
           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 nl.quintor.justanotherboardgame.MainActivity.onCreate(android.os.Bundle) (MainActivity.java:15)
           at void android.app.Activity.performCreate(android.os.Bundle) (Activity.java:6955)
           at void android.app.Instrumentation.callActivityOnCreate(android.app.Activity, android.os.Bundle) (Instrumentation.java:1126)
           at android.app.Activity android.app.ActivityThread.performLaunchActivity(android.app.ActivityThread$ActivityClientRecord, android.content.Intent) (ActivityThread.java:2927)
           at void android.app.ActivityThread.handleLaunchActivity(android.app.ActivityThread$ActivityClientRecord, android.content.Intent, java.lang.String) (ActivityThread.java:3045)
           at void android.app.ActivityThread.-wrap14(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:1642)
           at void android.os.Handler.dispatchMessage(android.os.Message) (Handler.java:102)
           at void android.os.Looper.loop() (Looper.java:154)
           at void android.app.ActivityThread.main(java.lang.String[]) (ActivityThread.java:6776)
           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:1496)
           at void com.android.internal.os.ZygoteInit.main(java.lang.String[]) (ZygoteInit.java:1386)
       Caused by: java.lang.ClassNotFoundException: Didn't find class "android.view.View$OnUnhandledKeyEventListener" on path: DexPathList[[zip file "/data/app/nl.quintor.justanotherboardgame-2/base.apk", zip file "/data/app/nl.quintor.justanotherboardgame-2/split_lib_dependencies_apk.apk", zip file "/data/app/nl.quintor.justanotherboardgame-2/split_lib_slice_0_apk.apk", zip file "/data/app/nl.quintor.justanotherboardgame-2/split_lib_slice_1_apk.apk", zip file "/data/app/nl.quintor.justanotherboardgame-2/split_lib_slice_2_apk.apk", zip file "/data/app/nl.quintor.justanotherboardgame-2/split_lib_slice_3_apk.apk", zip file "/data/app/nl.quintor.justanotherboardgame-2/split_lib_slice_4_apk.apk", zip file "/data/app/nl.quintor.justanotherboardgame-2/split_lib_slice_5_apk.apk", zip file "/data/app/nl.quintor.justanotherboardgame-2/split_lib_slice_6_apk.apk", zip file "/data/app/nl.quintor.justanotherboardgame-2/split_lib_slice_7_apk.apk", zip file "/data/app/nl.quintor.justanotherboardgame-2/split_lib_slice_8_apk.apk", 
           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 android.support.v4.view.ViewCompat.setBackground(android.view.View, android.graphics.drawable.Drawable) (ViewCompat.java:2340)
           at void android.support.v7.widget.ActionBarContainer.<init>(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:794)
           at android.view.View android.view.LayoutInflater.createViewFromTag(android.view.View, java.lang.String, android.content.Context, android.util.AttributeSet) (LayoutInflater.java:734)
           at void android.view.LayoutInflater.rInflate(org.xmlpull.v1.XmlPullParser, android.view.View, android.content.Context, android.util.AttributeSet, boolean) (LayoutInflater.java:865)
           at void android.view.LayoutInflater.rInflateChildren(org.xmlpull.v1.XmlPullParser, android.view.View, android.util.AttributeSet, boolean) (LayoutInflater.java:828)
           at android.view.View android.view.LayoutInflater.inflate(org.xmlpull.v1.XmlPullParser, android.view.ViewGroup, boolean) (LayoutInflater.java:525)
           at android.view.View android.view.LayoutInflater.inflate(int, android.view.ViewGroup, boolean) (LayoutInflater.java:427)
           at android.view.View android.view.LayoutInflater.inflate(int, android.view.ViewGroup) (LayoutInflater.java:378)
           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 nl.quintor.justanotherboardgame.MainActivity.onCreate(android.os.Bundle) (MainActivity.java:15)
           at void android.app.Activity.performCreate(android.os.Bundle) (Activity.java:6955)
           at void android.app.Instrumentation.callActivityOnCreate(android.app.Activity, android.os.Bundle) (Instrumentation.java:1126)
           at android.app.Activity android.app.ActivityThread.performLaunchActivity(android.app.ActivityThread$ActivityClientRecord, android.content.Intent) (ActivityThread.java:2927)
           at void android.app.ActivityThread.handleLaunchActivity(android.app.ActivityThread$ActivityClientRecord, android.content.Intent, java.lang.String) (ActivityThread.java:3045)
           at void android.app.ActivityThread.-wrap14(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:1642)
           at void android.os.Handler.dispatchMessage(android.os.Message) (Handler.java:102)
           at void android.os.Looper.loop() (Looper.java:154)
           at void android.app.ActivityThread.main(java.lang.String[]) (ActivityThread.java:6776)
           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:1496)
           at void com.android.internal.os.ZygoteInit.main(java.lang.String[]) (ZygoteInit.java:1386)

It can't seem to find some classes which are always working and are part of the Android Library. When I try to find the code I can find it. When I remove the instance creation of Hazelcast there is no problem either..

Anybody has an idea what this problem might be?

Thanks in advance!

ProCx
  • 199
  • 5
  • 18
  • 1
    The exception doesn't seem to be HZ related ' Caused by: java.lang.ClassNotFoundException: Didn't find class "android.view.View$OnUnhandledKeyEventListener" – pveentjer Jun 21 '18 at 10:36

1 Answers1

3

This is caused by an incompatibility with the android support library that changed to version 28.

I my case I solved the problem by changing from

implementation 'com.android.support:appcompat-v7:28.0.0-alpha3'

to

implementation 'com.android.support:appcompat-v7:28.0.0-alpha1'.

so try to use previous versions.

My project built successfully working after I changed this. Hope this might help you too.

akhil
  • 1,649
  • 3
  • 19
  • 31
  • damnit, happened to me by changing from support 27 to 28... Will just go back until 28 is out of alpha – Rafael T Jul 16 '18 at 16:13