Trong ứng dụng của tôi, tôi sử dụng MessageDigest.getInstance("SHA-1")
để nhận SHA1, nó có thể chạy thành công trong android 2.3, nhưng nó không thể chạy trong android 4.0 và nó sẽ hiển thị ngoại lệ dưới đây:java.lang.NoClassDefFoundError: android.security.MessageDigest
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)
Ai có thể giải thích trường hợp này?
Cảm ơn bạn đã trả lời. Giải pháp là đúng, nó có thể làm cho ứng dụng của tôi chạy thành công trong 4.0 sau khi thay đổi thành "java.security.MessageDigest". – Judy
bạn sẽ thay đổi điều đó như thế nào nếu nó nằm trong Google Add on SDK? – Mikey