Android开发

Android多渠道打包汇总(二)—— 使用AS进行签名打包

2017-08-30  本文已影响0人  _柒安

1. 签名文件分类

注意:

debug签名的应用程序不能在Android Market上架销售,它会强制你使用自己的签名。
不同电脑使用debug.keystore生成的签名不一样。那就意味着如果你换了机器进行apk版本升级,那么将会出现上面那种程序不能覆盖安装的问题。

2. 使用AS打包签名的应用

3. 如何在代码中得到应用的签名

public void getSingInfo() {
        try {
            // 根据当前应用包名得到packageInfo
            PackageInfo packageInfo = getPackageManager().getPackageInfo("com.android.test", PackageManager.GET_SIGNATURES);
            Signature[] signs = packageInfo.signatures;
            Signature sign = signs[0];
            parseSignature(sign.toByteArray());
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    public void parseSignature(byte[] signature) {
        try {
            CertificateFactory certFactory = CertificateFactory
                    .getInstance("X.509");
            X509Certificate cert = (X509Certificate) certFactory
                    .generateCertificate(new ByteArrayInputStream(signature));
            String pubKey = cert.getPublicKey().toString();
            String signNumber = cert.getSerialNumber().toString();
            Log.e("TAG", "pubKey:" + pubKey);
            Log.e("TAG", "signNumber:" + signNumber);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
上一篇 下一篇

猜你喜欢

热点阅读