Android中打包的方式有哪些-创新互联

今天就跟大家聊聊有关Android中打包的方式有哪些,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

为双牌等地区用户提供了全套网页设计制作服务,及双牌网站建设行业解决方案。主营业务为成都网站制作、成都网站建设、双牌网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!

01.应用的打包签名什么是打包?

打包就是根据签名和其他标识生成安装包。

签名是什么?

1.在android应用文件(apk)中保存的一个特别字符串

2.用来标识不同的应用开发者:开发者A,开发者B

3.一个应用开发者开发的多款应用使用同一个签名

就好比是一个人写文章,签名就相当于作者的署名。

如果两个应用都是一个开发者开发的,那么签名就是一样的。

这个开发者,可以是个人,也可以是公司、团体。

为什么要用签名?原因1:最简单直接的回答: 系统要求的。

Android系统要求每一个Android应用程序必须要经过数字签名才能够安装到系统中,也就是说如果一个Android应用程序没有经过数字签名,是没有办法安装到系统中的!

原因2:

不同程序员开发的应用包名可能会相同, 导致一个应用覆盖掉另一个应用。

如果只有包名的概念,那么如果B应用与已经安装的A应用包名一样,那就实现覆盖。不合理!

而事实上是装不上B的,它会提示,存在包名一致,但是签名不一样的。这就不会覆盖。

如何为APK签名?

如何签名就不用说了,这方面的博文数不胜数,相信看这篇文章的你也应该会。

在代码中得到应用的签名?(个人觉得没啥用)

public void getSingInfo() {
  try {
    PackageInfo packageInfo = getPackageManager().getPackageInfo(
        "应用包名", 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();
  }
}

标题名称:Android中打包的方式有哪些-创新互联
文章地址:http://ybzwz.com/article/pgeij.html