Android 编程下获得应用程序的签名

说明:应用程序的签名被封装在 packageInfo 中,所以我们要获得应用程序的签名就需要获得 PackageManager 来获得包含有签名信息的 packageInfo,再通过 packageInfo 获得 Signature 数组,循环遍历将签名进行拼接。

try {
                /** 通过包管理器获得指定包名包含签名的包信息 **/
                PackageInfo packageInfo = getPackageManager().getPackageInfo(
                        pkgname, PackageManager.GET_SIGNATURES);
                /******* 通过返回的包信息获得签名数组 *******/
                Signature[] signatures = packageInfo.signatures;

                StringBuilder builder = new StringBuilder();

                /******* 循环遍历签名数组拼接应用签名 *******/
                for (Signature signature : signatures) {
                    builder.append(signature.toCharsString());
                }
                /************** 得到应用签名 **************/
                String signature = builder.toString();
                Logger.d("tag", "getSignature:" + signature);
            } catch (NameNotFoundException e) {
                

 

posted @ 2016-05-10 10:28  无天666  阅读(359)  评论(0编辑  收藏  举报