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.コードから取得
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();
}