获取Android安装包签名有2种方法。

 一、代码中获取,但是需要知道安装包的包名。

代码如下:

PackageManager manager = getPackageManager();        /** 通过包管理器获得指定包名包含签名的包信息 **/        PackageInfo packageInfo = null;        try {            packageInfo = manager.getPackageInfo("your package name", PackageManager.GET_SIGNATURES);        } catch (PackageManager.NameNotFoundException e) {            e.printStackTrace();        }        /******* 通过返回的包信息获得签名数组 *******/        Signature[] signatures = packageInfo.signatures;        String ss = MD5.hexdigest(signatures[0].toByteArray());        if(ss != null) {            Toast.makeText(this, "签名" + ss, Toast.LENGTH_LONG).show();        }else{            Toast.makeText(this,"没获得签名",Toast.LENGTH_LONG).show();        }

还需要一个MD5工具类:

public class MD5 {    private static final char[] hexDigits = { 48, 49, 50, 51, 52, 53, 54, 55,            56, 57, 97, 98, 99, 100, 101, 102 };    public static String hexdigest(String paramString) {        try {            String str = hexdigest(paramString.getBytes());            return str;        } catch (Exception localException) {        }        return null;    }    public static String hexdigest(byte[] paramArrayOfByte) {        try {            MessageDigest localMessageDigest = MessageDigest.getInstance("MD5");            localMessageDigest.update(paramArrayOfByte);            byte[] arrayOfByte = localMessageDigest.digest();            char[] arrayOfChar = new char[32];            int i = 0;            int j = 0;            while (true) {                if (i >= 16)                    return new String(arrayOfChar);                int k = arrayOfByte[i];                int m = j + 1;                arrayOfChar[j] = hexDigits[(0xF & k >>> 4)];                j = m + 1;                arrayOfChar[m] = hexDigits[(k & 0xF)];                i++;            }        } catch (Exception localException) {        }        return null;    }}

二、使用命令获取

cmd命令,然后进去*.jks所在的目录,输入命令行:

keytool -list -v -keystore [xxx] -keypass [xxx]
获取到的MD5值,去掉其中的“:”就是我们需要的32的签名。

更多相关文章

  1. android代码实现关机
  2. android修改Zxing源码,避免出现错误信息
  3. Android adb input 命令介绍
  4. android 查询工具源代码
  5. android点滴(11) -- Android常用命令
  6. Android(java)学习笔记113:Android编写代码调用Vibrator震动功能,按

随机推荐

  1. Android开发AsyncTask异步处理任务使用方
  2. Android(安卓)跨进程传输大图片
  3. Android实现多个跑马灯效果,多个文本框Tex
  4. Android线程的一些问题
  5. 在Eclipse中加入Android源码
  6. 【腾讯开源】Android性能测试工具APT使用
  7. android用贝塞尔曲线完成viewpager轮播指
  8. Git | 上传 Android(安卓)项目到 GitHub
  9. Android(安卓)- 分享内容 - 给其他APP发
  10. Android(安卓)使用 Usb Accessory 模式与