接完某云视频点播后,又接入了另一家的即时通信(需要适配AndroidX),之后久报错了。
log日志:
--------- beginning of crash
2021-03-26 19:35:11.384 19362-19362 包名 E/AndroidRuntime: FATAL EXCEPTION: main
Process: 包名, PID: 19362
java.lang.RuntimeException: Unable to start activity ComponentInfo{包名/包名.fhome.videoplay.111yunPlayerSkinActivityNew}: android.view.InflateException: Binary XML file line #33 in包名:layout/111vc_player_layout_skin_new: Binary XML file line #33 in 包名:layout/111vc_player_layout_skin_new: Error inflating class com.111yun.player.111vcplayerexpand.widget.111yunVodPlayerView
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3773)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3952)
at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:91)
at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:149)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:103)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2386)
at android.os.Handler.dispatchMessage(Handler.java:107)
at android.os.Looper.loop(Looper.java:213)
at android.app.ActivityThread.main(ActivityThread.java:8169)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:513)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1101)
Caused by: android.view.InflateException: Binary XML file line #33 in 包名:layout/111vc_player_layout_skin_new: Binary XML file line #33 in包名:layout/111vc_player_layout_skin_new: Error inflating class com.111yun.player.111vcplayerexpand.widget.111yunVodPlayerView
Caused by: android.view.InflateException: Binary XML file line #33 in 包名:layout/111vc_player_layout_skin_new: Error inflating class com.111yun.player.111vcplayerexpand.widget.111yunVodPlayerView
Caused by: java.lang.reflect.InvocationTargetException
at java.lang.reflect.Constructor.newInstance0(Native Method)
at java.lang.reflect.Constructor.newInstance(Constructor.java:343)
at android.view.LayoutInflater.createView(LayoutInflater.java:864)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:1016)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:971)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:1133)
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:1094)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:1136)
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:1094)
at android.view.LayoutInflater.inflate(LayoutInflater.java:692)
at android.view.LayoutInflater.inflate(LayoutInflater.java:536)
at android.view.LayoutInflater.inflate(LayoutInflater.java:483)
at com.android.internal.policy.PhoneWindow.setContentView(PhoneWindow.java:520)
at com.android.internal.policy.HwPhoneWindow.setContentView(HwPhoneWindow.java:328)
at android.app.Activity.setContentView(Activity.java:3459)
at 包名.fhome.videoplay.111yunPlayerSkinActivityNew.onCreate(111yunPlayerSkinActivityNew.java:351)
at android.app.Activity.performCreate(Activity.java:8086)
at android.app.Activity.performCreate(Activity.java:8074)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1313)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3746)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3952)
at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:91)
at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:149)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:103)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2386)
at android.os.Handler.dispatchMessage(Handler.java:107)
at android.os.Looper.loop(Looper.java:213)
at android.app.ActivityThread.main(ActivityThread.java:8169)
at java.lang.reflect.Method.invoke(Native Method)
2021-03-26 19:35:11.384 19362-19362/包名 E/AndroidRuntime: at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:513)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1101)
Caused by: java.lang.NoSuchMethodError: No virtual method error(I)Lcom/bumptech/glide/request/RequestOptions; in class Lcom/bumptech/glide/request/RequestOptions; or its super classes (declaration of 'com.bumptech.glide.request.RequestOptions' appears in /data/app/包名-CcA4wRJ7mzKYnr4-uIFUWg==/base.apk)
找某云询问了近两天,一直没有解决。
最后等不及了,自己慢慢找bug,最后问题锁定在RequestOptions类,com.github.bumptech.glide:glide:x.x.x,发现某云视频中集成了4.8.0;而AndroidX最低要求加载图片的com.github.bumptech.glide:glide是4.9.0。
第二个问题,适配AndroidX时,会直接把XML中ImageView控件的android:src改成app:srcCompat,直接改回来就行了。