android apk署名のシーケンス番号を取得

877 ワード

1.apkから直接取得
apk接尾辞をzipに変更し、WinRARで開き、META-INF/CERT.RSAを解凍します.たとえば、D:CERT.RSAに解凍します.
コマンドラインの下
D:\android\project>keytool -printcert -file "D:\CERT.RSA"
シリアルナンバーが表示されます
2.コードから取得
try {
       PackageInfo pi = getApplicationContext().getPackageManager().getPackageInfo(packageName, PackageManager.GET_SIGNATURES);
       try {
            X509Certificate certificate = X509Certificate.getInstance(pi.signatures[0].toByteArray());
           
            BigInteger serialBigInteger = certificate.getSerialNumber();
            Log.i(TAG, "" + serialBigInteger.toString(16));
       } catch (CertificateException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
       }
  } catch (NameNotFoundException e) {
       // TODO Auto-generated catch block
       e.printStackTrace();
  }