繁体   English   中英

Android 4.2.2设备上的java.lang.NoClassDefFoundError

[英]java.lang.NoClassDefFoundError on Android 4.2.2 Devices

我有一个Android应用程序,需要实现蓝牙低功耗功能。 BLE功能应在Android API级别> 26(Android 8)的设备上运行,但该应用程序也应在Android> 17(Android 4.2)的设备上启动。 我已经在Android 8和4.4上测试了此应用程序,没有问题。 如果我让该应用程序在装有Android 4.2.2的设备上运行,则启动后即会崩溃。 日志如下所示:

AndroidRuntime:致命异常:main java.lang.NoClassDefFoundError:android / bluetooth / BluetoothGatt

原因:java.lang.ClassNotFoundException:在路径:/data/app/com.evva.aess.android.programmingdevice-1.apk上找不到类“ android.bluetooth.BluetoothGatt”

Android项目配置:

compileSdkVersion = 26
buildToolsVersion = '27.0.3'
minSdkVersion = 17
targetSdkVersion = 26

还启用了MultiDex,我的主应用程序扩展了MultiDexApplication。

是否需要配置Proguard规则? 我不知道该如何解决,谢谢您的帮助。

从文档中可以看出,BluethoothGatt是在API级别18中添加的: https : //developer.android.com/reference/android/bluetooth/BluetoothGatt

您当前的minSDK为17。您必须更新您的minSDK或找到其他解决方案(例如,第三方库等)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM