一、Android md5通常使用如下命令从keystore获取:
keytool -list -v -keystore <keystore文件路径> -alias <别名>
上述代码在Android studio的终端terminal直接运行即可。输入上述命令后需要你输入正确的密码,才能获取。
但是我执行上述命令时出错,报错如下:

因此采用方法二打包后获取
二、打包后获取md5
在任意启动中执行如下方法:
private static String getSigningMd5(Context context) {
try {
PackageManager pm = context.getPackageManager();
Signature[] signatures = pm.getPackageInfo(context.getPackageName(), PackageManager.GET_SIGNATURES).signatures;
for (Signature signature : signatures) {
CertificateFactory certificateFactory = CertificateFactory.getInstance("X.509");
ByteArrayInputStream inputStream = new ByteArrayInputStream(signature.toByteArray());
X509Certificate certificate = (X509Certificate) certificateFactory.generateCertificate(inputStream);
MessageDigest md = MessageDigest.getInstance("MD5");
byte[] digest = md.digest(certificate.getEncoded());
StringBuilder md5Builder = new StringBuilder();
for (byte b : digest) {
md5Builder.append(Integer.toString((b & 0xff) + 0x100, 16).substring(1));
}
return md5Builder.toString();
}
} catch (Exception e) {
e.printStackTrace();
}
return null;
}可以使用Log.d("getmd5func", getSigningMd5(MainActivity.this))打印md5到logcat,为了快速定位,可以使用getmd5func关键词进行日志过滤。