YouTubePlayerSupportFragment和AppCompatActivity错误

时间:2015-11-09 16:57:43

标签: android youtube-api android-youtube-api

我正在开发使用YouTube Android API的应用程序。

为了播放视频,我使用了YouTubePlayerFragment。

当我从Activity类扩展我的活动时,一切顺利,但当我切换到AppCompatActivity并且YouTubePlayerSupportFragment视频无法启动时,我在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) 

是否可以将YouTubePlayerSupportFragment与AppCompatActivity一起使用?

2 个答案:

答案 0 :(得分:3)

使用app build.gradle中的给定代码

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

而不是最新版本将解决这个问题 我不知道为什么。谁知道原因,请给出解释。

答案 1 :(得分:-1)

这是因为最新版本23.4+不稳定且存在问题。最新最稳定的版本是23.1.1 使用这个来避免这个问题。