获取Android应用签名

本章讲解下Android如何获取应用签名。
在某些场景下, 我们需要某应用的签名信息,签名信息存放在包里,所以我们需要获取包信息。

(1)获取已安装应用的所有包名
/**
 * 获取所有已安装应用的包名
 * @param paramContext
 */
private List<String> getInstalledPackageName(Context paramContext){
    PackageManager localPackageManager = paramContext.getPackageManager();
    List<PackageInfo> localPackageInfos = localPackageManager.getInstalledPackages(0);
    List<String> list = new ArrayList<>();
    for(PackageInfo packageInfo : localPackageInfos){
        list.add(packageInfo.packageName);
    }
    return list;
}
(2)获取指定应用的签名
private Signature[] getRawSignature(Context paramContext, String paramString) {
    if ((paramString == null) || (paramString.length() == 0)) {
        errout("获取签名失败,包名为 null");
        return null;
    }
    PackageManager localPackageManager = paramContext.getPackageManager();
    PackageInfo localPackageInfo;
    try {
        localPackageInfo = localPackageManager.getPackageInfo(paramString, PackageManager.GET_SIGNATURES);
        if (localPackageInfo == null) {
            errout("信息为 null, 包名 = " + paramString);
            return null;
        }
    } catch (PackageManager.NameNotFoundException localNameNotFoundException) {
        errout("包名没有找到...");
        return null;
    }
    return localPackageInfo.signatures;
}
(3)复制到粘贴板
String result = result_text.getText().toString().trim();
ClipboardManager cm = (ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE);
// 将文本内容放到系统剪贴板里。
cm.setText(result);
展示效果如下
图片.png
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,494评论 25 708
  • 用两张图告诉你,为什么你的 App 会卡顿? - Android - 掘金 Cover 有什么料? 从这篇文章中你...
    hw1212阅读 12,970评论 2 59
  • 最快的方法 打开 Android Studio,然后选择右边的 Gradle 标签,选择一个项目,然后选择 sig...
    红烧排骨饭阅读 45,007评论 0 14
  • 网上方法很多,但是网上很多代码不是到获取Signature就终止了,就是获取的MD5和实际值不一样。反编译了腾讯的...
    andev009阅读 6,061评论 1 1
  • 上一章节 幻想总会醒过来的,正当采薇还沉浸在与长顾间暖味不明时,老天爷给了采薇狠狠一击。 很多时候事情发展得太顺利...
    艾就爱阅读 398评论 0 0