我想使用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)