private Signature[] getRawSignature(Context paramContext, String paramString) {
if ((paramString == null) || (paramString.length() == 0)) {
errout("getSignature, packageName is null");
return null;
}
PackageManager localPackageManager = paramContext.getPackageManager();
PackageInfo localPackageInfo;
try {
localPackageInfo = localPackageManager.getPackageInfo(paramString, PackageManager.GET_SIGNATURES);
if (localPackageInfo == null) {
errout("info is null, packageName = " + paramString);
return null;
}
} catch (PackageManager.NameNotFoundException localNameNotFoundException) {
errout("NameNotFoundException");
return null;
}
return localPackageInfo.signatures;
}
private void getSign(String packageName) {
Signature[] arrayOfSignature = getRawSignature(this, packageName);
if ((arrayOfSignature == null) || (arrayOfSignature.length == 0)) {
errout("signs is null");
return;
}
stdout(MD5.getMessageDigest(arrayOfSignature[0].toByteArray()));
}
源码地址: GenSignature