测试过程中发现,对于签名后的文件。当用压缩包直接打开apk然后删除apk中的一个文件,比如html文件,apk重新安装是可以的。
但是如果添加或者修改文件内容比如html文件,apk就无法安装了。
获取apk签名文件的关键代码如下:
public static String getCertFingerPrintFromClient(Context context) throws NameNotFoundException, NoSuchAlgorithmException{
PackageManager manager = context.getPackageManager();
PackageInfo packageInfo = manager.getPackageInfo(context.getPackageName(), PackageManager.GET_SIGNATURES);
Signature[] signs = packageInfo.signatures;
Signature sign = signs[0];
MessageDigest messageDigest = MessageDigest.getInstance("SHA1");
messageDigest.update(sign.toByteArray());
String hashValue = toHex(messageDigest.digest());
return hashValue;
}
来源:oschina
链接:https://my.oschina.net/u/778987/blog/377771