我有一个使用谷歌地图(v1)的应用程序,从崩溃报告中,我不时看到这个异常:
java.lang.NoClassDefFoundError: android.security.MessageDigest
at com.google.android.maps.KeyHelper.getSignatureFingerprint(KeyHelper.java:60)
at com.google.android.maps.MapActivity.createMap(MapActivity.java:513)
at com.google.android.maps.MapActivity.onCreate(MapActivity.java:409)
我已经定义
<uses-library
android:name="com.google.android.maps"
android:required="true" />
在应用程序标签内,我也在扩展 MapActivity。该应用程序在大多数设备上都能正常工作,但也有一些不常见的设备会报告此异常,通常在 Android 4.0.4 上,如 Woxter Tablet PC 90BL、TAB9008GBBK 和其他通用名称。
从我在 Stackoverflow 中读到的内容来看,这是 ROM 中的一个问题,用户可以通过一些高级技巧来解决它,但我想要的是防止这种崩溃,因为我认为它无法解决,我只是想要通知用户(以及他购买更好的设备:) 并禁用地图功能而不是崩溃。但是我找不到处理此错误的方法或使用我拥有的设备对其进行测试。
我的主要活动也是基于 MapActivity 的,所以我不知道在打开它之前如何处理这个异常。