YouTubePlayerSupportFragment and AppCompatActivity error

做~自己de王妃 提交于 2019-12-01 20:38:51

问题


I'm developing application which uses YouTube android API.

For playing video I used YouTubePlayerFragment.

When I extend my activity from Activity class all goes right, but when I switched to AppCompatActivity and YouTubePlayerSupportFragment video can't start and I see these errors in logcat:

11-09 21:43:42.770 28199-28199/org.appspot.apprtc E/YouTubeAndroidPlayerAPI: Error creating YouTubePlayerView
11-09 21:43:42.770 28199-28199/org.appspot.apprtc E/YouTubeAndroidPlayerAPI: com.google.android.youtube.player.internal.w$a: Exception thrown by invoked constructor in com.google.android.youtube.api.jar.client.RemoteEmbeddedPlayer
11-09 21:43:42.770 28199-28199/org.appspot.apprtc E/YouTubeAndroidPlayerAPI:     at com.google.android.youtube.player.internal.w.a(Unknown Source)
11-09 21:43:42.770 28199-28199/org.appspot.apprtc E/YouTubeAndroidPlayerAPI:     at com.google.android.youtube.player.internal.w.a(Unknown Source)
11-09 21:43:42.770 28199-28199/org.appspot.apprtc E/YouTubeAndroidPlayerAPI:     at com.google.android.youtube.player.internal.w.a(Unknown Source)
11-09 21:43:42.770 28199-28199/org.appspot.apprtc E/YouTubeAndroidPlayerAPI:     at com.google.android.youtube.player.internal.ac.a(Unknown Source)
11-09 21:43:42.770 28199-28199/org.appspot.apprtc E/YouTubeAndroidPlayerAPI:     at com.google.android.youtube.player.YouTubePlayerView.a(Unknown Source)
11-09 21:43:42.770 28199-28199/org.appspot.apprtc E/YouTubeAndroidPlayerAPI:     at com.google.android.youtube.player.YouTubePlayerView$1.a(Unknown Source)
11-09 21:43:42.770 28199-28199/org.appspot.apprtc E/YouTubeAndroidPlayerAPI:     at com.google.android.youtube.player.internal.r.g(Unknown Source)
11-09 21:43:42.770 28199-28199/org.appspot.apprtc E/YouTubeAndroidPlayerAPI:     at com.google.android.youtube.player.internal.r$c.a(Unknown Source)
11-09 21:43:42.770 28199-28199/org.appspot.apprtc E/YouTubeAndroidPlayerAPI:     at com.google.android.youtube.player.internal.r$b.a(Unknown Source)
11-09 21:43:42.770 28199-28199/org.appspot.apprtc E/YouTubeAndroidPlayerAPI:     at com.google.android.youtube.player.internal.r$a.handleMessage(Unknown Source)
11-09 21:43:42.770 28199-28199/org.appspot.apprtc E/YouTubeAndroidPlayerAPI:     at android.os.Handler.dispatchMessage(Handler.java:102)
11-09 21:43:42.770 28199-28199/org.appspot.apprtc E/YouTubeAndroidPlayerAPI:     at android.os.Looper.loop(Looper.java:146)
11-09 21:43:42.770 28199-28199/org.appspot.apprtc E/YouTubeAndroidPlayerAPI:     at android.app.ActivityThread.main(ActivityThread.java:5603)
11-09 21:43:42.770 28199-28199/org.appspot.apprtc E/YouTubeAndroidPlayerAPI:     at java.lang.reflect.Method.invokeNative(Native Method)
11-09 21:43:42.770 28199-28199/org.appspot.apprtc E/YouTubeAndroidPlayerAPI:     at java.lang.reflect.Method.invoke(Method.java:515)
11-09 21:43:42.770 28199-28199/org.appspot.apprtc E/YouTubeAndroidPlayerAPI:     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1283)
11-09 21:43:42.770 28199-28199/org.appspot.apprtc E/YouTubeAndroidPlayerAPI:     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1099)
11-09 21:43:42.770 28199-28199/org.appspot.apprtc E/YouTubeAndroidPlayerAPI:     at dalvik.system.NativeStart.main(Native Method)
11-09 21:43:42.770 28199-28199/org.appspot.apprtc E/YouTubeAndroidPlayerAPI:  Caused by: java.lang.reflect.InvocationTargetException
11-09 21:43:42.770 28199-28199/org.appspot.apprtc E/YouTubeAndroidPlayerAPI:     at java.lang.reflect.Constructor.constructNative(Native Method)
11-09 21:43:42.770 28199-28199/org.appspot.apprtc E/YouTubeAndroidPlayerAPI:     at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
11-09 21:43:42.770 28199-28199/org.appspot.apprtc E/YouTubeAndroidPlayerAPI:     at com.google.android.youtube.player.internal.w.a(Unknown Source) 
11-09 21:43:42.770 28199-28199/org.appspot.apprtc E/YouTubeAndroidPlayerAPI:     at com.google.android.youtube.player.internal.w.a(Unknown Source) 
11-09 21:43:42.770 28199-28199/org.appspot.apprtc E/YouTubeAndroidPlayerAPI:     at com.google.android.youtube.player.internal.w.a(Unknown Source) 
11-09 21:43:42.770 28199-28199/org.appspot.apprtc E/YouTubeAndroidPlayerAPI:     at com.google.android.youtube.player.internal.ac.a(Unknown Source) 
11-09 21:43:42.770 28199-28199/org.appspot.apprtc E/YouTubeAndroidPlayerAPI:     at com.google.android.youtube.player.YouTubePlayerView.a(Unknown Source) 
11-09 21:43:42.770 28199-28199/org.appspot.apprtc E/YouTubeAndroidPlayerAPI:     at com.google.android.youtube.player.YouTubePlayerView$1.a(Unknown Source) 
11-09 21:43:42.770 28199-28199/org.appspot.apprtc E/YouTubeAndroidPlayerAPI:     at com.google.android.youtube.player.internal.r.g(Unknown Source) 
11-09 21:43:42.770 28199-28199/org.appspot.apprtc E/YouTubeAndroidPlayerAPI:     at com.google.android.youtube.player.internal.r$c.a(Unknown Source) 
11-09 21:43:42.770 28199-28199/org.appspot.apprtc E/YouTubeAndroidPlayerAPI:     at com.google.android.youtube.player.internal.r$b.a(Unknown Source) 
11-09 21:43:42.770 28199-28199/org.appspot.apprtc E/YouTubeAndroidPlayerAPI:     at com.google.android.youtube.player.internal.r$a.handleMessage(Unknown Source) 
11-09 21:43:42.770 28199-28199/org.appspot.apprtc E/YouTubeAndroidPlayerAPI:     at android.os.Handler.dispatchMessage(Handler.java:102) 
11-09 21:43:42.770 28199-28199/org.appspot.apprtc E/YouTubeAndroidPlayerAPI:     at android.os.Looper.loop(Looper.java:146) 
11-09 21:43:42.770 28199-28199/org.appspot.apprtc E/YouTubeAndroidPlayerAPI:     at android.app.ActivityThread.main(ActivityThread.java:5603) 
11-09 21:43:42.770 28199-28199/org.appspot.apprtc E/YouTubeAndroidPlayerAPI:     at java.lang.reflect.Method.invokeNative(Native Method) 
11-09 21:43:42.770 28199-28199/org.appspot.apprtc E/YouTubeAndroidPlayerAPI:     at java.lang.reflect.Method.invoke(Method.java:515) 
11-09 21:43:42.770 28199-28199/org.appspot.apprtc E/YouTubeAndroidPlayerAPI:     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1283) 
11-09 21:43:42.770 28199-28199/org.appspot.apprtc E/YouTubeAndroidPlayerAPI:     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1099) 
11-09 21:43:42.770 28199-28199/org.appspot.apprtc E/YouTubeAndroidPlayerAPI:     at dalvik.system.NativeStart.main(Native Method) 
11-09 21:43:42.770 28199-28199/org.appspot.apprtc E/YouTubeAndroidPlayerAPI:  Caused by: android.view.InflateException: Binary XML file line #91: Error inflating class ImageView
11-09 21:43:42.770 28199-28199/org.appspot.apprtc E/YouTubeAndroidPlayerAPI:     at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:719)
11-09 21:43:42.770 28199-28199/org.appspot.apprtc E/YouTubeAndroidPlayerAPI:     at android.view.LayoutInflater.rInflate(LayoutInflater.java:761)
11-09 21:43:42.770 28199-28199/org.appspot.apprtc E/YouTubeAndroidPlayerAPI:     at android.view.LayoutInflater.rInflate(LayoutInflater.java:769)
11-09 21:43:42.770 28199-28199/org.appspot.apprtc E/YouTubeAndroidPlayerAPI:     at android.view.LayoutInflater.rInflate(LayoutInflater.java:769)
11-09 21:43:42.770 28199-28199/org.appspot.apprtc E/YouTubeAndroidPlayerAPI:     at android.view.LayoutInflater.inflate(LayoutInflater.java:498)
11-09 21:43:42.770 28199-28199/org.appspot.apprtc E/YouTubeAndroidPlayerAPI:     at android.view.LayoutInflater.inflate(LayoutInflater.java:398)
11-09 21:43:42.770 28199-28199/org.appspot.apprtc E/YouTubeAndroidPlayerAPI:     at android.view.LayoutInflater.inflate(LayoutInflater.java:354)
11-09 21:43:42.770 28199-28199/org.appspot.apprtc E/YouTubeAndroidPlayerAPI:     at dbz.<init>(SourceFile:69)
11-09 21:43:42.770 28199-28199/org.appspot.apprtc E/YouTubeAndroidPlayerAPI:     at afh.<init>(SourceFile:115)
11-09 21:43:42.770 28199-28199/org.appspot.apprtc E/YouTubeAndroidPlayerAPI:     at com.google.android.youtube.api.jar.client.RemoteEmbeddedPlayer.<init>(SourceFile:175)
11-09 21:43:42.770 28199-28199/org.appspot.apprtc E/YouTubeAndroidPlayerAPI:     at com.google.android.youtube.api.jar.client.RemoteEmbeddedPlayer.<init>(SourceFile:158)
11-09 21:43:42.770 28199-28199/org.appspot.apprtc E/YouTubeAndroidPlayerAPI:     at com.google.android.youtube.api.jar.client.RemoteEmbeddedPlayer.<init>(SourceFile:145)
11-09 21:43:42.770 28199-28199/org.appspot.apprtc E/YouTubeAndroidPlayerAPI:     at java.lang.reflect.Constructor.constructNative(Native Method) 
11-09 21:43:42.770 28199-28199/org.appspot.apprtc E/YouTubeAndroidPlayerAPI:     at java.lang.reflect.Constructor.newInstance(Constructor.java:423) 
11-09 21:43:42.770 28199-28199/org.appspot.apprtc E/YouTubeAndroidPlayerAPI:     at com.google.android.youtube.player.internal.w.a(Unknown Source) 
11-09 21:43:42.770 28199-28199/org.appspot.apprtc E/YouTubeAndroidPlayerAPI:     at com.google.android.youtube.player.internal.w.a(Unknown Source) 
11-09 21:43:42.770 28199-28199/org.appspot.apprtc E/YouTubeAndroidPlayerAPI:     at com.google.android.youtube.player.internal.w.a(Unknown Source) 
11-09 21:43:42.770 28199-28199/org.appspot.apprtc E/YouTubeAndroidPlayerAPI:     at com.google.android.youtube.player.internal.ac.a(Unknown Source) 
11-09 21:43:42.770 28199-28199/org.appspot.apprtc E/YouTubeAndroidPlayerAPI:     at com.google.android.youtube.player.YouTubePlayerView.a(Unknown Source) 
11-09 21:43:42.770 28199-28199/org.appspot.apprtc E/YouTubeAndroidPlayerAPI:     at com.google.android.youtube.player.YouTubePlayerView$1.a(Unknown Source) 
11-09 21:43:42.770 28199-28199/org.appspot.apprtc E/YouTubeAndroidPlayerAPI:     at com.google.android.youtube.player.internal.r.g(Unknown Source) 
11-09 21:43:42.770 28199-28199/org.appspot.apprtc E/YouTubeAndroidPlayerAPI:     at com.google.android.youtube.player.internal.r$c.a(Unknown Source) 
11-09 21:43:42.770 28199-28199/org.appspot.apprtc E/YouTubeAndroidPlayerAPI:     at com.google.android.youtube.player.internal.r$b.a(Unknown Source) 
11-09 21:43:42.770 28199-28199/org.appspot.apprtc E/YouTubeAndroidPlayerAPI:     at com.google.android.youtube.player.internal.r$a.handleMessage(Unknown Source) 
11-09 21:43:42.770 28199-28199/org.appspot.apprtc E/YouTubeAndroidPlayerAPI:     at android.os.Handler.dispatchMessage(Handler.java:102) 
11-09 21:43:42.770 28199-28199/org.appspot.apprtc E/YouTubeAndroidPlayerAPI:     at android.os.Looper.loop(Looper.java:146) 
11-09 21:43:42.770 28199-28199/org.appspot.apprtc E/YouTubeAndroidPlayerAPI:     at android.app.ActivityThread.main(ActivityThread.java:5603) 
11-09 21:43:42.770 28199-28199/org.appspot.apprtc E/YouTubeAndroidPlayerAPI:     at java.lang.reflect.Method.invokeNative(Native Method) 
11-09 21:43:42.770 28199-28199/org.appspot.apprtc E/YouTubeAndroidPlayerAPI:     at java.lang.reflect.Method.invoke(Method.java:515) 
11-09 21:43:42.770 28199-28199/org.appspot.apprtc E/YouTubeAndroidPlayerAPI:     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1283) 
11-09 21:43:42.770 28199-28199/org.appspot.apprtc E/YouTubeAndroidPlayerAPI:     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1099) 
11-09 21:43:42.770 28199-28199/org.appspot.apprtc E/YouTubeAndroidPlayerAPI:     at dalvik.system.NativeStart.main(Native Method) 
11-09 21:43:42.770 28199-28199/org.appspot.apprtc E/YouTubeAndroidPlayerAPI:  Caused by: java.lang.ClassCastException: android.graphics.drawable.BitmapDrawable cannot be cast to android.graphics.drawable.LayerDrawable
11-09 21:43:42.770 28199-28199/org.appspot.apprtc E/YouTubeAndroidPlayerAPI:     at android.support.v7.internal.widget.TintManager.getDrawable(TintManager.java:202)
11-09 21:43:42.770 28199-28199/org.appspot.apprtc E/YouTubeAndroidPlayerAPI:     at android.support.v7.internal.widget.TintManager.getDrawable(TintManager.java:170)
11-09 21:43:42.770 28199-28199/org.appspot.apprtc E/YouTubeAndroidPlayerAPI:     at android.support.v7.internal.widget.TintTypedArray.getDrawable(TintTypedArray.java:62)
11-09 21:43:42.770 28199-28199/org.appspot.apprtc E/YouTubeAndroidPlayerAPI:     at android.support.v7.widget.AppCompatImageHelper.loadFromAttributes(AppCompatImageHelper.java:45)
11-09 21:43:42.770 28199-28199/org.appspot.apprtc E/YouTubeAndroidPlayerAPI:     at android.support.v7.widget.AppCompatImageView.<init>(AppCompatImageView.java:68)
11-09 21:43:42.770 28199-28199/org.appspot.apprtc E/YouTubeAndroidPlayerAPI:     at android.support.v7.widget.AppCompatImageView.<init>(AppCompatImageView.java:56)
11-09 21:43:42.770 28199-28199/org.appspot.apprtc E/YouTubeAndroidPlayerAPI:     at android.support.v7.internal.app.AppCompatViewInflater.createView(AppCompatViewInflater.java:98)
11-09 21:43:42.770 28199-28199/org.appspot.apprtc E/YouTubeAndroidPlayerAPI:     at android.support.v7.app.AppCompatDelegateImplV7.createView(AppCompatDelegateImplV7.java:926)
11-09 21:43:42.770 28199-28199/org.appspot.apprtc E/YouTubeAndroidPlayerAPI:     at android.support.v7.app.AppCompatDelegateImplV7.onCreateView(AppCompatDelegateImplV7.java:980)
11-09 21:43:42.770 28199-28199/org.appspot.apprtc E/YouTubeAndroidPlayerAPI:     at android.support.v4.view.LayoutInflaterCompatHC$FactoryWrapperHC.onCreateView(LayoutInflaterCompatHC.java:44)
11-09 21:43:42.770 28199-28199/org.appspot.apprtc E/YouTubeAndroidPlayerAPI:     at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:690)
11-09 21:43:42.770 28199-28199/org.appspot.apprtc E/YouTubeAndroidPlayerAPI:     at android.view.LayoutInflater.rInflate(LayoutInflater.java:761) 
11-09 21:43:42.770 28199-28199/org.appspot.apprtc E/YouTubeAndroidPlayerAPI:     at android.view.LayoutInflater.rInflate(LayoutInflater.java:769) 
11-09 21:43:42.770 28199-28199/org.appspot.apprtc E/YouTubeAndroidPlayerAPI:     at android.view.LayoutInflater.rInflate(LayoutInflater.java:769) 
11-09 21:43:42.770 28199-28199/org.appspot.apprtc E/YouTubeAndroidPlayerAPI:     at android.view.LayoutInflater.inflate(LayoutInflater.java:498) 
11-09 21:43:42.770 28199-28199/org.appspot.apprtc E/YouTubeAndroidPlayerAPI:     at android.view.LayoutInflater.inflate(LayoutInflater.java:398) 
11-09 21:43:42.770 28199-28199/org.appspot.apprtc E/YouTubeAndroidPlayerAPI:     at android.view.LayoutInflater.inflate(LayoutInflater.java:354) 
11-09 21:43:42.770 28199-28199/org.appspot.apprtc E/YouTubeAndroidPlayerAPI:     at dbz.<init>(SourceFile:69) 
11-09 21:43:42.770 28199-28199/org.appspot.apprtc E/YouTubeAndroidPlayerAPI:     at afh.<init>(SourceFile:115) 
11-09 21:43:42.770 28199-28199/org.appspot.apprtc E/YouTubeAndroidPlayerAPI:     at com.google.android.youtube.api.jar.client.RemoteEmbeddedPlayer.<init>(SourceFile:175) 
11-09 21:43:42.770 28199-28199/org.appspot.apprtc E/YouTubeAndroidPlayerAPI:     at com.google.android.youtube.api.jar.client.RemoteEmbeddedPlayer.<init>(SourceFile:158) 
11-09 21:43:42.770 28199-28199/org.appspot.apprtc E/YouTubeAndroidPlayerAPI:     at com.google.android.youtube.api.jar.client.RemoteEmbeddedPlayer.<init>(SourceFile:145) 
11-09 21:43:42.770 28199-28199/org.appspot.apprtc E/YouTubeAndroidPlayerAPI:     at java.lang.reflect.Constructor.constructNative(Native Method) 
11-09 21:43:42.770 28199-28199/org.appspot.apprtc E/YouTubeAndroidPlayerAPI:     at java.lang.reflect.Constructor.newInstance(Constructor.java:423) 
11-09 21:43:42.770 28199-28199/org.appspot.apprtc E/YouTubeAndroidPlayerAPI:     at com.google.android.youtube.player.internal.w.a(Unknown Source) 
11-09 21:43:42.770 28199-28199/org.appspot.apprtc E/YouTubeAndroidPlayerAPI:     at com.google.android.youtube.player.internal.w.a(Unknown Source) 
11-09 21:43:42.770 28199-28199/org.appspot.apprtc E/YouTubeAndroidPlayerAPI:     at com.google.android.youtube.player.internal.w.a(Unknown Source) 
11-09 21:43:42.770 28199-28199/org.appspot.apprtc E/YouTubeAndroidPlayerAPI:     at com.google.android.youtube.player.internal.ac.a(Unknown Source) 
11-09 21:43:42.770 28199-28199/org.appspot.apprtc E/YouTubeAndroidPlayerAPI:     at com.google.android.youtube.player.YouTubePlayerView.a(Unknown Source) 
11-09 21:43:42.770 28199-28199/org.appspot.apprtc E/YouTubeAndroidPlayerAPI:     at com.google.android.youtube.player.YouTubePlayerView$1.a(Unknown Source) 
11-09 21:43:42.770 28199-28199/org.appspot.apprtc E/YouTubeAndroidPlayerAPI:     at com.google.android.youtube.player.internal.r.g(Unknown Source) 
11-09 21:43:42.770 28199-28199/org.appspot.apprtc E/YouTubeAndroidPlayerAPI:     at com.google.android.youtube.player.internal.r$c.a(Unknown Source) 
11-09 21:43:42.770 28199-28199/org.appspot.apprtc E/YouTubeAndroidPlayerAPI:     at com.google.android.youtube.player.internal.r$b.a(Unknown Source) 
11-09 21:43:42.770 28199-28199/org.appspot.apprtc E/YouTubeAndroidPlayerAPI:     at com.google.android.youtube.player.internal.r$a.handleMessage(Unknown Source) 
11-09 21:43:42.770 28199-28199/org.appspot.apprtc E/YouTubeAndroidPlayerAPI:     at android.os.Handler.dispatchMessage(Handler.java:102) 
11-09 21:43:42.770 28199-28199/org.appspot.apprtc E/YouTubeAndroidPlayerAPI:     at android.os.Looper.loop(Looper.java:146) 
11-09 21:43:42.770 28199-28199/org.appspot.apprtc E/YouTubeAndroidPlayerAPI:     at android.app.ActivityThread.main(ActivityThread.java:5603) 
11-09 21:43:42.770 28199-28199/org.appspot.apprtc E/YouTubeAndroidPlayerAPI:     at java.lang.reflect.Method.invokeNative(Native Method) 
11-09 21:43:42.770 28199-28199/org.appspot.apprtc E/YouTubeAndroidPlayerAPI:     at java.lang.reflect.Method.invoke(Method.java:515) 
11-09 21:43:42.770 28199-28199/org.appspot.apprtc E/YouTubeAndroidPlayerAPI:     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1283) 
11-09 21:43:42.770 28199-28199/org.appspot.apprtc E/YouTubeAndroidPlayerAPI:     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1099) 
11-09 21:43:42.770 28199-28199/org.appspot.apprtc E/YouTubeAndroidPlayerAPI:     at dalvik.system.NativeStart.main(Native Method) 

Is it possible to use YouTubePlayerSupportFragment with AppCompatActivity?


回答1:


use the given code in your app build.gradle

compile 'com.android.support:appcompat-v7:23.0.1'

instead of the latest version will solve this problem.
I don't know why. Who knows the reason, please give an explanation.




回答2:


This is because latest version 23.4+ is not stable and has issues. Most latest and stable version is 23.1.1 Use this one to avoid this issue.



来源:https://stackoverflow.com/questions/33614190/youtubeplayersupportfragment-and-appcompatactivity-error

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!