防止Apk二次打包:获取应用程序的签名并校验签名等

Android应用apk文件二次打包步骤- http://www.jianshu.com/p/6bcc42542997#

Android APP如何防止二次打包,对比签名- http://blog.csdn.net/lostinai/article/details/46726559
Android PackageManagerService详细分析- http://www.open-open.com/lib/view/open1328776151311.html

  应用程序的签名被封装在 packageInfo 中,所以我们要获得应用程序的签名就需要获得 PackageManager 来获得包含有签名信息的 packageInfo,再通过 packageInfo 获得 Signature 数组,循环遍历将签名进行拼接。
private PackageManager manager;
private PackageInfo packageInfo;
private Signature[] signatures;
private StringBuilder builder;

/** 通过包管理器获得指定包名包含签名的包信息 **/
packageInfo = manager.getPackageInfo(pkgname, PackageManager.GET_SIGNATURES);

/******* 通过返回的包信息获得签名数组 *******/
signatures = packageInfo.signatures;

/******* 循环遍历签名数组拼接应用签名 *******/
for (Signature signature : signatures) {
   builder.append(signature.toCharsString());
}

/************** 得到应用签名 **************/
signature = builder.toString();

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值