dji-sdk / Mobile-UXSDK-Android

DJI Mobile UXSDK is a suite of product agnostic UI objects that fast tracks the development of Android applications using the DJI Mobile SDK.
Other
153 stars 110 forks source link

启动不了, TextureView.setBackgroundDrawable异常 怎么办 #72

Open addriumruss opened 4 years ago

addriumruss commented 4 years ago

情况是这样的,uxsdk示例能够正常运行, 但是把CompleteWidgetActivity拷贝到我自己项目中,xml布局也同样完全拷贝,没做任何修改,启动这个页面时在onCreate函数setContentView时候说FPVWidget有个文本框设置背景异常. 不知道怎么解决,日志如下: E/AndroidRuntime: FATAL EXCEPTION: main Process: com.utm.m600util, PID: 3698 java.lang.RuntimeException: Unable to start activity ComponentInfo{com.utm.m600util/com.utm.m600util.view.CompleteWidgetActivity}: android.view.InflateException: Binary XML file line #11 in com.utm.m600util:layout/activity_fcow_video_map_main: Binary XML file line #11 in com.utm.m600util:layout/activity_fcow_video_map_main: Error inflating class dji.ux.widget.FPVWidget at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3805) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3984) 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:2401) at android.os.Handler.dispatchMessage(Handler.java:107) at android.os.Looper.loop(Looper.java:213) at android.app.ActivityThread.main(ActivityThread.java:8210) 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 #11 in com.utm.m600util:layout/activity_fcow_video_map_main: Binary XML file line #11 in com.utm.m600util:layout/activity_fcow_video_map_main: Error inflating class dji.ux.widget.FPVWidget Caused by: android.view.InflateException: Binary XML file line #11 in com.utm.m600util:layout/activity_fcow_video_map_main: Error inflating class dji.ux.widget.FPVWidget 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.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:522) at com.android.internal.policy.HwPhoneWindow.setContentView(HwPhoneWindow.java:325) at android.app.Activity.setContentView(Activity.java:3458) at com.utm.m600util.view.CompleteWidgetActivity.onCreate(CompleteWidgetActivity.java:43) at android.app.Activity.performCreate(Activity.java:8085) at android.app.Activity.performCreate(Activity.java:8073) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1320) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3778) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3984) 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:2401) at android.os.Handler.dispatchMessage(Handler.java:107) at android.os.Looper.loop(Looper.java:213) at android.app.ActivityThread.main(ActivityThread.java:8210) 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: java.lang.UnsupportedOperationException: TextureView doesn't support displaying a background drawable E/AndroidRuntime: at android.view.TextureView.setBackgroundDrawable(TextureView.java:331) at android.view.View.setBackground(View.java:22958) at android.view.View.(View.java:5821) at android.view.View.(View.java:5219) at android.view.TextureView.(TextureView.java:168) at dji.ux.base.G.(Unknown Source:0) at dji.ux.widget.FPVWidget.(Unknown Source:0) at dji.ux.widget.FPVWidget.(Unknown Source:1) ... 29 more

addriumruss commented 4 years ago

还没接飞机,就是想启动个空页面, 包括地图和视频控件,但是直接就启动不了

dji-dev commented 4 years ago

Agent comment from Luce Luo in Zendesk ticket #33826:

尊敬的用户,

您好!感谢您联系DJI 大疆创新。 从报错上看是您的layout资源文件问题导致,不是UXSDK问题, 建议您可以参考网上相关错误解决方案再次确认下。

非常感谢您的理解与配合,祝您生活愉快!

Best Regards,

DJI 大疆创新SDK技术支持

addriumruss commented 4 years ago

你好,感谢回复。 但是我没有自定义任何页面,页面xml从示例中完全照抄拷贝过来,提示问题出在FpvWidget上面。 请正视问题,给出解决方案,谢谢! 再次附日志: E/AndroidRuntime: FATAL EXCEPTION: main Process: com.utm.uavutil2, PID: 3473 java.lang.RuntimeException: Unable to start activity ComponentInfo{com.utm.uavutil2/com.utm.uavutil2.view.FcowVideoMapMainActivity}: android.view.InflateException: Binary XML file line #11 in com.utm.uavutil2:layout/activity_fcow_video_map_main: Binary XML file line #11 in com.utm.uavutil2:layout/activity_fcow_video_map_main: Error inflating class dji.ux.widget.FPVWidget at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3805) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3984) 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:2401) at android.os.Handler.dispatchMessage(Handler.java:107) at android.os.Looper.loop(Looper.java:213) at android.app.ActivityThread.main(ActivityThread.java:8210) 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 #11 in com.utm.uavutil2:layout/activity_fcow_video_map_main: Binary XML file line #11 in com.utm.uavutil2:layout/activity_fcow_video_map_main: Error inflating class dji.ux.widget.FPVWidget Caused by: android.view.InflateException: Binary XML file line #11 in com.utm.uavutil2:layout/activity_fcow_video_map_main: Error inflating class dji.ux.widget.FPVWidget 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.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:522) at com.android.internal.policy.HwPhoneWindow.setContentView(HwPhoneWindow.java:325) at android.app.Activity.setContentView(Activity.java:3458) at com.utm.uavutil2.view.FcowVideoMapMainActivity.onCreate(FcowVideoMapMainActivity.java:42) at android.app.Activity.performCreate(Activity.java:8085) at android.app.Activity.performCreate(Activity.java:8073) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1320) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3778) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3984) 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:2401) at android.os.Handler.dispatchMessage(Handler.java:107) at android.os.Looper.loop(Looper.java:213) at android.app.ActivityThread.main(ActivityThread.java:8210) 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: java.lang.UnsupportedOperationException: TextureView doesn't support displaying a background drawable E/AndroidRuntime: at android.view.TextureView.setBackgroundDrawable(TextureView.java:331) at android.view.View.setBackground(View.java:22958) at android.view.View.(View.java:5821) at android.view.View.(View.java:5219) at android.view.TextureView.(TextureView.java:168) at dji.ux.base.G.(Unknown Source:0) at dji.ux.widget.FPVWidget.(Unknown Source:0) at dji.ux.widget.FPVWidget.(Unknown Source:1) ... 29 more

dji-dev commented 4 years ago

Agent comment from Luce Luo in Zendesk ticket #33826:

尊敬的用户,

您好!感谢您联系DJI 大疆创新。 抱歉,如果官方uxsdk示例能够正常运行,基本上可以判断您的项目上存在问题。 因为没有您的项目工程,很难去分析您的具体情况。 建议您可以与UXSDK sample详细对比下整个配置情况。

非常感谢您的理解与配合,祝您生活愉快!

Best Regards,

DJI 大疆创新SDK技术支持