Android DJI:正在DJISDKManager registerApp方法上获取异常。必须在主线程上调用addObserver方法

Android DJI:正在DJISDKManager registerApp方法上获取异常。必须在主线程上调用addObserver方法,android,dji-sdk,Android,Dji Sdk,无法找出我的代码有什么问题。我根据指南集成了DJI Mobile SDK,然后甚至复制了示例应用程序中的所有代码(在我的设备上正常工作),但在这两种情况下,当我调用djiskmanager.getInstance().registerApp()方法时,我都会遇到以下异常。库已模糊,因此我无法调试错误。该产品是mavic2enterprise 2020-12-22 12:31:11.382 2978-3031/com.example.package E/DJICrashHandler: uncau

无法找出我的代码有什么问题。我根据指南集成了DJI Mobile SDK,然后甚至复制了示例应用程序中的所有代码(在我的设备上正常工作),但在这两种情况下,当我调用
djiskmanager.getInstance().registerApp()
方法时,我都会遇到以下异常。库已模糊,因此我无法调试错误。该产品是
mavic2enterprise

2020-12-22 12:31:11.382 2978-3031/com.example.package E/DJICrashHandler: uncaughtException 3
    
    --------- beginning of crash
2020-12-22 12:31:11.583 2978-3031/com.example.package E/AndroidRuntime: FATAL EXCEPTION: UrgentThreadPool#1
    Process: com.example.package, PID: 2978
    java.lang.IllegalStateException: Method addObserver must be called on the main thread
        at androidx.lifecycle.LifecycleRegistry.enforceMainThreadIfNeeded(LifecycleRegistry.java:317)
        at androidx.lifecycle.LifecycleRegistry.addObserver(LifecycleRegistry.java:172)
        at dji.sdk.sdkmanager.DJISDKManager.initParams()
        at dji.sdk.sdkmanager.DJISDKManager.initSDKManager()
        at dji.sdk.sdkmanager.DJISDKManager.registerApp()
        at dji.sdk.sdkmanager.DJISDKManager.access$800()
        at dji.sdk.sdkmanager.DJISDKManager$6$1.onDownloadSuccess()
        at dji.internal.ghu.ghu.fdd()
        at dji.sdk.sdkmanager.DJISDKManager$6.run()
        at dji.sdksharedlib.gfd.koy.run()
        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)

看起来DJI SDK v4.14与androidx.lifecycle组件的最新版本(2.3.0)不兼容。实际上,androidx viewmodel中的koin
依赖项不起作用。当我改变它时,例外消失了。你最终改变了什么?我也使用了koin,并且得到了同样的错误drone@HaykKerobyan您能否指定您在依赖项中更改了什么?我也有类似的问题,但涉及Dagger和最新的生命周期组件。