1、打开Android页面,点击上方的【Build】,下拉选择
2、选择APK,点击【next】
3、弹出如下的弹窗:
4、点击Create New 按钮,出现下面的对话框
其中Alias为别名,对于下面“Certificate”的那几行,我们至少需要填一个,上面的都要填写清楚,重要的是要记清楚第二行输入的密码,之后需要用到。之后一路点击“OK”即可。
5、接下来点击Android界面的左上角【file】,下拉菜单,选择【Project Stucture】
6、按照提示,添加信息,里面的信息多是刚刚填写的信息,其中Store file是刚刚生成的jks后缀文件,找到即可,然后点击【ok】
7、刷新后,在【bulid.gradle】里查看到签名信息
8、接下来查看md5签名
方法一:
在Android Studio下,我们可以在命令行中通过输入命令来查询我们的应用签名信息,在Android的底部点开【Terminal】,然后输入命令,
keytool -list -v -keystore "E:\myfriendsshare.jks"
其中"E:\myfriendsshare.jks"为我们刚才保存的签名相关文件的位置,在这里你直接替换成自己的文件位置即可。之后它会让你输入密码(注意,密码不会显示出来,输入之后点击回车就好)。
查询结果如下
方法二:因为有时候,方法一我没办法查询,所以方法二使用代码查看md5比较方便。
(1)新建SignTool
直接上代码:
import android.content.Context;
import android.content.pm.Signature;
import android.util.Log;
import java.security.MessageDigest;
/**
* 作者:libeibei
* 创建日期:20190717
* 类说明:打印某个应用的签名MD5
**/
public class SignTool {
private static final String TAG = "SignTool";
//调用示例
//SignTool.printSignatureMD5(CHAuthService.this,"com.sccngitv.dvb");
public static void printSignatureMD5(Context mContext, String packageName) {
try {
Log.e(TAG, "packageName = " + packageName + " Sign MD5 =" + getMD5MessageDigest(mContext, packageName));
} catch (Exception e) {
e.printStackTrace();
}
}
public static String getMD5MessageDigest(Context mContext, String str) {
try {
int i = 0;
Signature signature = mContext.getPackageManager().getPackageInfo(str, 64).signatures[0];
MessageDigest instance = MessageDigest.getInstance("md5");
instance.update(signature.toByteArray());
byte[] digest = instance.digest();
StringBuilder stringBuilder = new StringBuilder();
int length = digest.length;
while (i < length) {
String toHexString = Integer.toHexString(digest[i] & 255);
if (toHexString.length() == 1) {
StringBuilder stringBuilder2 = new StringBuilder();
stringBuilder2.append("0");
stringBuilder2.append(toHexString);
toHexString = stringBuilder2.toString();
}
stringBuilder.append(toHexString);
i++;
}
return stringBuilder.toString();
} catch (Exception e) {
e.printStackTrace();
return "null";
}
}
}
(2)在MainActivity中添加调用
SignTool.printSignatureMD5(MainActivity.this,"com.example.myapplication");
注意:后面是自己包的名,不要忘记换成自己的
然后运行即可