java.lang.NoClassDefFoundError: android.security.MessageDigest

В моем приложении я используюMessageDigest.getInstance("SHA-1") чтобы получить SHA1, он может успешно работать в Android 2.3, но не может работать в Android 4.0, и будет показано следующее исключение:

FATAL EXCEPTION: main
java.lang.NoClassDefFoundError: android.security.MessageDigest
 at com.screenshare.email.Utility.getConsistentDeviceId(Utility.java:597)
 at com.screenshare.exchange.SyncManager.getDeviceIdInternal(SyncManager.java:1079)
 at com.screenshare.exchange.SyncManager.getDeviceId(SyncManager.java:1045)
 at com.screenshare.exchange.SyncManager.onCreate(SyncManager.java:1813)
 at android.app.ActivityThread.handleCreateService(ActivityThread.java:2253)
 at android.app.ActivityThread.access$1600(ActivityThread.java:123)
 at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1201)
 at android.os.Handler.dispatchMessage(Handler.java:99)
 at android.os.Looper.loop(Looper.java:137)
 at android.app.ActivityThread.main(ActivityThread.java:4424)
 at java.lang.reflect.Method.invokeNative(Native Method)
 at java.lang.reflect.Method.invoke(Method.java:511)
 at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
 at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
 at dalvik.system.NativeStart.main(Native Method) 

Кто может объяснить этот случай?

Ответы на вопрос(1)

Решение Вопроса

Отчтение вокруг GoogleGroups это звучит какandroid.security.MessageDigest был удален в сотах. К сожалению, мне еще предстоит найти подтверждение этому в документации для разработчиков Android.

Попробуйте использоватьjava.security.MessageDigest вместо.

 26 июн. 2013 г., 00:42
как вы собираетесь это изменить, если это в Google Add on SDK?
 Judy21 июн. 2012 г., 14:19
Спасибо за ваш ответ. Решение правильное, оно может заставить мое приложение успешно работать в 4.0 после изменения на «java.security.MessageDigest».

Ваш ответ на вопрос