MessageDigest 类是一个帮助类,用于使用 MD5 或 SHA-1 等常用方法对密钥进行编码/解码。
似乎 android.security.MessageDigest 类已从 Honeycomb 和更高版本的 Android 中删除,必须由 java.security.MessageDigest 替换(请参阅此页面)
尝试下载最新版本的 Google Maps API 并重新构建您的应用程序,并将 targetSDK 设置为可用的最高版本(应该是 16 / Jelly Bean)。
或者
我找到了简单的解决方法!只需在 src 目录中创建包 android\security 并将 MessageDigest.java 放入其中。
package android.security;
import java.security.NoSuchAlgorithmException;
public class MessageDigest
{
private java.security.MessageDigest instance;
public MessageDigest() {}
private MessageDigest(java.security.MessageDigest instance)
{
this.instance = instance;
}
public static MessageDigest getInstance(String algorithm) throws NoSuchAlgorithmException
{
if (algorithm == null) return null;
try
{
if (algorithm.equals("SHA-1"))
return (MessageDigest) Class.forName("android.security.Sha1MessageDigest").newInstance();
else if (algorithm.equals("MD5"))
return (MessageDigest) Class.forName("android.security.Md5MessageDigest").newInstance();
}
catch (Exception e) {}
return new MessageDigest(java.security.MessageDigest.getInstance(algorithm));
}
public void update(byte[] input)
{
instance.update(input);
}
public byte[] digest()
{
return instance.digest();
}
public byte[] digest(byte[] input)
{
return instance.digest(input);
}
}