java.lang.NoClassDefFoundError:无法解决以下问题:Ldji / common / flightcontroller / CompassCalibrationState

时间:2019-04-08 10:53:28

标签: android android-gradle dji-sdk

我想使用DJI Android SDK读取不同的DJI硬件状态。但是对于某些体系结构(英特尔),某些DJI类无法使用这些库进行解析。这导致java.lang.NoClassDefFoundError

受影响的设备:联想瑜伽系列,华硕ZenFone系列。

在所有其他设备(使用不同的本机库)上,它可以正常工作。 DJI是否没有在英特尔架构库中正确包含这些类?

我们在应用程序build.gradle中声明依赖项,如下所示:

dependencies {   
    implementation('com.dji:dji-uxsdk:4.9')
    compileOnly('com.dji:dji-sdk-provided:4.9')
}

我们希望这些类得到适当的解决,但是会出现以下错误:

java.lang.NoClassDefFoundError: Failed resolution of: Ldji/common/flightcontroller/CompassCalibrationState

java.lang.NoClassDefFoundError: Failed resolution of: Ldji/common/flightcontroller/imu/SensorState;

Stacktrace:

Caused by java.lang.ClassNotFoundException: Didn't find class "dji.common.flightcontroller.CompassCalibrationState" on path: DexPathList[[zip file "/data/app/com.droneharmony.planner-1/base.apk"],nativeLibraryDirectories=[/data/app/com.droneharmony.planner-1/lib/arm, /data/app/com.droneharmony.planner-1/base.apk!/lib/armeabi-v7a, /system/lib, /vendor/lib]]
       at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
       at java.lang.ClassLoader.loadClass(ClassLoader.java:380)
       at java.lang.ClassLoader.loadClass(ClassLoader.java:312)

0 个答案:

没有答案