M300 RTK crash caused by missing LTE_LINK
已完成When connecting the M300 RTK to our Android app running SDK 4.15 the application crashes.
2021-08-11 15:00:21.533 11145-11876/mypackageE/AndroidRuntime: FATAL EXCEPTION: RxComputationThreadPool-5
Process: mypackagePID: 11145
java.lang.IllegalStateException: Exception thrown on Scheduler.Worker thread. Add onError
handling.
at dji.thirdparty.rx.internal.schedulers.ScheduledAction.run(ScheduledAction.java:60)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:428)
at java.util.concurrent.FutureTask.run(FutureTask.java:237)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:272)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
at java.lang.Thread.run(Thread.java:761)
Caused by: dji.thirdparty.rx.exceptions.OnErrorNotImplementedException: java.lang.NoSuchFieldException: LINK_LTE
at dji.thirdparty.rx.Observable$27.onError(Observable.java:8566)
at dji.thirdparty.rx.observers.SafeSubscriber._onError(SafeSubscriber.java:157)
at dji.thirdparty.rx.observers.SafeSubscriber.onError(SafeSubscriber.java:120)
at dji.thirdparty.rx.exceptions.Exceptions.throwOrReport(Exceptions.java:201)
at dji.thirdparty.rx.observers.SafeSubscriber.onNext(SafeSubscriber.java:144)
at dji.thirdparty.rx.internal.util.ScalarSynchronousObservable$ScalarAsyncProducer.call(ScalarSynchronousObservable.java:192)
at dji.thirdparty.rx.internal.schedulers.ScheduledAction.run(ScheduledAction.java:55)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:428)
at java.util.concurrent.FutureTask.run(FutureTask.java:237)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:272)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
at java.lang.Thread.run(Thread.java:761)
Caused by: java.lang.AssertionError: java.lang.NoSuchFieldException: LINK_LTE
at com.google.gson.internal.bind.TypeAdapters$EnumTypeAdapter.(TypeAdapters.java:792)
at com.google.gson.internal.bind.TypeAdapters$30.create(TypeAdapters.java:818)
at com.google.gson.Gson.getAdapter(Gson.java:458)
at com.google.gson.Gson.toJson(Gson.java:696)
at com.google.gson.Gson.toJson(Gson.java:683)
at com.google.gson.Gson.toJson(Gson.java:638)
at com.google.gson.Gson.toJson(Gson.java:618)
at com.dji.frame.util.V_JsonUtil.toJson()
at dji.internal.analytics.listener.DJIAnalyticsCacheInteractionListener.getValueJson()
at dji.internal.analytics.listener.DJIAnalyticsCacheInteractionListener.metaDataWithKeyPath()
at dji.internal.analytics.listener.DJIAnalyticsCacheInteractionListener.onEvent()
at dji.sdksharedlib.DJISDKCache.fdd()
at dji.sdksharedlib.DJISDKCache.access$lambda$0()
at dji.sdksharedlib.DJISDKCache$$Lambda$1.call()
at dji.thirdparty.rx.Observable$27.onNext(Observable.java:8571)
at dji.thirdparty.rx.observers.SafeSubscriber.onNext(SafeSubscriber.java:139)
at dji.thirdparty.rx.internal.util.ScalarSynchronousObservable$ScalarAsyncProducer.call(ScalarSynchronousObservable.java:192)
at dji.thirdparty.rx.internal.schedulers.ScheduledAction.run(ScheduledAction.java:55)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:428)
at java.util.concurrent.FutureTask.run(FutureTask.java:237)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:272)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
at java.lang.Thread.run(Thread.java:761)
Caused by: java.lang.NoSuchFieldException: LINK_LTE
at java.lang.Class.getField(Class.java:1549)
at com.google.gson.internal.bind.TypeAdapters$EnumTypeAdapter.(TypeAdapters.java:781)
at com.google.gson.internal.bind.TypeAdapters$30.create(TypeAdapters.java:818)
at com.google.gson.Gson.getAdapter(Gson.java:458)
at com.google.gson.Gson.toJson(Gson.java:696)
at com.google.gson.Gson.toJson(Gson.java:683)
at com.google.gson.Gson.toJson(Gson.java:638)
at com.google.gson.Gson.toJson(Gson.java:618)
at com.dji.frame.util.V_JsonUtil.toJson()
at dji.internal.analytics.listener.DJIAnalyticsCacheInteractionListener.getValueJson()
at dji.internal.analytics.listener.DJIAnalyticsCacheInteractionListener.metaDataWithKeyPath()
at dji.internal.analytics.listener.DJIAnalyticsCacheInteractionListener.onEvent()
at dji.sdksharedlib.DJISDKCache.fdd()
at dji.sdksharedlib.DJISDKCache.access$lambda$0()
at dji.sdksharedlib.DJISDKCache$$Lambda$1.call()
at dji.thirdparty.rx.Observable$27.onNext(Observable.java:8571)
at dji.thirdparty.rx.observers.SafeSubscriber.onNext(SafeSubscriber.java:139)
at dji.thirdparty.rx.internal.util.ScalarSynchronousObservable$ScalarAsyncProducer.call(ScalarSynchronousObservable.java:192)
at dji.thirdparty.rx.internal.schedulers.ScheduledAction.run(ScheduledAction.java:55)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:428)
at java.util.concurrent.FutureTask.run(FutureTask.java:237)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:272)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
at java.lang.Thread.run(Thread.java:761)
I saw another ticket on github with the same issue stating it was fixed in 4.14.1. But we are running 4.15 and the error still occurs.
-
Dear Customer, Thank you for contacting DJI. Do you mean the crash occur once connecting to the MSDK 4.15? Or any specific condition? Can you please test the below 4.15 official sample? https://github.com/dji-sdk/Mobile-SDK-Android/ If the problem is reproduced, please contact us agian. Thanks, Luce Luo DJI Developer Support -
Hi,
Nevermind I got the sample working. And the M300 works fine with it.
Now I'm facing the current scenario.
1. If the drone is off and I open the cockpitview (the UX SDK integrated in our application) and start the M300 after I registered the app it works fine.
2. If the M300 is already running and I open the cockpitview the above error comes and makes the app crash.
Now this is not occurring in the sample so obviously there is something we do in our app that doesn't happen in the sample. Is there anything you can point us to that might cause this? I compared the gradle files and the gradle versions and they are equal.
-
Dear Customer, Thank you for contacting DJI. I'm not sure but please ensure the drone and RC have been on the latest firmware first and test again the UXSDK sample.  Second, please compare the official UXSDK gradle and proguard-rules file if enbaled it. https://github.com/dji-sdk/Mobile-UXSDK-Android https://github.com/dji-sdk/Mobile-UXSDK-Android/blob/master/sample/app/build.gradle https://github.com/dji-sdk/Mobile-UXSDK-Android/blob/master/sample/app/proguard-rules.pro If the above works well but the problem still only occurs with your project, need to escalate to the engineer to investigate further. Thanks, Luce Luo DJI Developer Support
请先登录再写评论。
评论
4 条评论