方法1 AS Gradle工具
参考
Android Studio生成签名文件,自动签名,以及获取SHA1和MD5值
签名生成和获取 十分详细,不在叙述,
需要说明的是 : 获取的 MD5值 如:42:41:3B:BB:86:44:92:22:D0:4D:2A:E6:7F:98:4E:EE
替换“ :” ,转换成小写 ,就是应用的 MD5值 ,其它亦然
方法2 代码方式
不是我写的 ,记录一下
Activity 方法中
try { //BuildConfig.APPLICATION_ID 当前应用包名
PackageInfo packageInfo = getPackageManager().getPackageInfo(BuildConfig.APPLICATION_ID,
PackageManager.GET_SIGNATURES);
String signValidString = getSignValidString(packageInfo.signatures[0].toByteArray());
Log.e("获取应用签名", BuildConfig.APPLICATION_ID + ":" + signValidString);
} catch (Exception e) {
Log.e("获取应用签名", "异常:" + e);
}
其 引用 的方法
private String getSignValidString(byte[] paramArrayOfByte) throws NoSuchAlgorithmException {
MessageDigest localMessageDigest = MessageDigest.getInstance("MD5");
localMessageDigest.update(paramArrayOfByte);
return toHexString(localMessageDigest.digest());
}
public String toHexString(byte[] paramArrayOfByte) {
if (paramArrayOfByte == null) {
return null;
}
StringBuilder localStringBuilder = new StringBuilder(2 * paramArrayOfByte.length);
for (int i = 0; ; i++) {
if (i >= paramArrayOfByte.length) {
return localStringBuilder.toString();
}
String str = Integer.toString(0xFF & paramArrayOfByte[i], 16);
if (str.length() == 1) {
str = "0" + str;
}
localStringBuilder.append(str);
}
}
版权声明:本文为zuochunsheng原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。