一、验证机制
当前APP防止二次打包反盗版的通常做法就是进行签名验证,获取APP的签名进行一定的算法加密然后发送到服务器,服务器拿到签名与合法的签名进行比对,如果是一致的则认为是正版,否则就是盗版。
获取签名是通过反射PackageParser进行的,代码如下:
public static String getApkSignature(Context context, String apkPath) throws Exception {
Class clazz = Class.forName("android.content.pm.PackageParser");
Object packageParser = getParserObject(clazz);
Object packag = getPackage(context, clazz, packageParser, apkPath);
Method collectCertificatesMethod = clazz.getMethod("collectCertificates", Class.forName(