Wowza Community

Android Studio 3.2.1 + SDK + WowzaPlayerView

Im trying to setup a little example on Android using my WowzaEngine and the SDK. I followed the instructions here:

https://www.wowza.com/docs/how-to-play-a-live-stream-with-wowza-gocoder-sdk-for-android

Everything compiles and im able to lauch the apk but it just crash. I started to debug it and i noticed that when i get to create the object WOWZPlayerView

it crash with this error in the console:

/InstantRun: starting instant run server: is main process W/zygote: Got a deoptimization request on un-deoptimizable method java.lang.Class java.lang.Class.classForName(java.lang.String, boolean, java.lang.ClassLoader) I/chatty: uid=10079(com.sunset.wowvideo) identical 2 lines W/zygote: Got a deoptimization request on un-deoptimizable method java.lang.Class java.lang.Class.classForName(java.lang.String, boolean, java.lang.ClassLoader) W/zygote: Got a deoptimization request on un-deoptimizable method void android.support.v4.view.ViewCompat.setBackground(android.view.View, android.graphics.drawable.Drawable) I/zygote: 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:2341) 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:607) at void android.support.v7.app.AppCompatDelegateImpl.ensureSubDecor() (AppCompatDelegateImpl.java:518) at android.view.View android.support.v7.app.AppCompatDelegateImpl.findViewById(int) (AppCompatDelegateImpl.java:403) at android.view.View android.support.v7.app.AppCompatActivity.findViewById(int) (AppCompatActivity.java:191) at void com.sunset.wowvideo.MainActivity.onCreate(android.os.Bundle) (MainActivity.java:21) at void android.app.Activity.performCreate(android.os.Bundle, android.os.PersistableBundle) (Activity.java:7000) at void android.app.Activity.performCreate(android.os.Bundle) (Activity.java:6991) at void android.app.Instrumentation.callActivityOnCreate(android.app.Activity, android.os.Bundle) (Instrumentation.java:1214) at android.app.Activity android.app.ActivityThread.performLaunchActivity(android.app.ActivityThread$ActivityClientRecord, android.content.Intent) (ActivityThread.java:2731) at void android.app.ActivityThread.handleLaunchActivity(android.app.ActivityThread$ActivityClientRecord, android.content.Intent, java.lang.String) (ActivityThread.java:2856) 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:1589) 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:6494) 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:438) 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/com.sunset.wowvideo-MxnADH946EoccAcCBklcww==/base.apk”, zip file “/data/app/com.sunset.wowvideo-MxnADH946EoccAcCBklcww==/split_lib_dependencies_apk.apk”, zip file “/data/app/com.sunset.wowvideo-MxnADH946EoccAcCBklcww==/split_lib_resources_apk.apk”, zip file “/data/app/com.sunset.wowvideo-MxnADH946EoccAcCBklcww==/split_lib_slice_0_apk.apk”, zip file “/data/app/com.sunset.wowvideo-MxnADH946EoccAcCBklcww==/split_lib_slice_1_apk.apk”, zip file “/data/app/com.sunset.wowvideo-MxnADH946EoccAcCBklcww==/split_lib_slice_2_apk.apk”, zip file “/data/app/com.sunset.wowvideo-MxnADH946EoccAcCBklcww==/split_lib_slice_3_apk.apk”, zip file “/data/app/com.sunset.wowvideo-MxnADH946EoccAcCBklcww==/split_lib_slice_4_apk.apk”, zip file “/data/app/com.sunset.wowvideo-MxnADH946EoccAcCBklcww==/split_lib_slice_5_apk.apk”, zip file "/data/app/com.sunset.wowvideo-MxnADH946EoccAcCBklcww= 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)

It sounds that its a problem with the library not being added to the APK or something like that. Im using Android Studio 3.2.1 on a Mac Mojave

Does anyone has experienced this problem?

Thanks for your help

Regards

Edgar

Do you create the WOWZPlayerView programmatically ?

Looks like the error is in the layout.

Share your code with me and I will help you to fix the issue.

Thanks

Fabio

fabio.delorenzo@wowza.com