第一种 只有APK文件的情况下
-
首先将你的项目打包,一定要使用签名文件打包成release版本的apk文件。
-
将你的apk文件后缀修改成rar文件,解压。
-
在解压后的文件中找到META-INF文件,该目录下会存在CERT.RSA文件。
-
在META-INF目录下打开cmd(按住Shift,点击鼠标右键),输入命令 :
keytool -printcert -file CERT.RSA
,就可以在CMD命令窗口中看到签名文件的信息了,其中包括了SHA1值和MD5值。
第二种 你已经有了签名文件 并且知道密码
在jks签名文件目录下打开cmd(按住Shift,点击鼠标右键),输入命令 :keytool -list -v -keystore xxx.jks
,就可以在CMD命令窗口中看到签名文件的信息了,其中包括了SHA1值和MD5值。
第三种 通过代码获取
/**
* 获取签名工具类
*/
public class AppSigning {
public final static String MD5 = "MD5";
public final static String SHA1 = "SHA1";
public final static String SHA256 = "SHA256";
private static HashMap<String, ArrayList<String>> mSignMap = new HashMap<>();
/**
* 返回一个签名的对应类型的字符串
*
* @param context
* @param type
* @return 因为一个安装包可以被多个签名文件签名,所以返回一个签名信息的list
*/
public static ArrayList<String> getSignInfo(Context context, String type) {
if (context == null || type == null