一个ApK如果要安装到手机上,必须要一个数字签名,不过你是debug也好,release也好,这个数字签名来源一个叫做证书的东西,在我们debug的时候,开发工具已经帮我们生成了一个叫做debug.keystore 的证书,默认在C:\Users\【user name】\.android之下,但是如果我们的apk要发布到应用市场上,那就得用release的证书了,这个时候我们就要去用我们自己的证书了。

在Android Studio下 建立证书的过程如下:

1. Build > Generate Signed APK. 指定一个你要为那个module生成证书,然后确定

2 如果你已经有证书了,直接选择一个就好了,如果没有就创建一个。 点击Create New

3 下面就是你new一个证书需要填写的信息:

key store path 指定存放的位置,并自己填写一个名字,password是key store的名字

Alias 名字唯一,这个才是最重要的,以为多一个项目可以指定到同一个key store这个文件中,但是每一个项目都有不同德key。 另外就是一些密码,有效期 其他的信息了,根据自己的情况随便填写

4。 填写以后点击OK,就又回到了点击create new的那个界面。 填上生成证书时所填的相应的密码,key生么的就可以了。

         

5 点击Next。选择release

6 点击Finish,ok。 Android studio会自动build出一个release版本。一般直接在你的项目路径下,debug版本在build的outputs 下。apk的签名就结束了

有时候 我们需要引用第三方的api的时候,通常会需要我们的包名 与fingerprint来生成一个i密钥,然后将这个密钥放在我们项目中,或者xml文件中,或者application中。包名好说,就是我们项目的包名,但是这个fingerprint呢?

fingerprint也分两种,一个是debug的一种是release的,这个fingerprint的来源也是上面所说的证书。得到这个fingerprint也不难

windows环境只要在dos下输入

keytool -list -v -keystore "%USERPROFILE%\.android\debug.keystore" -alias androiddebugkey -storepass android -keypass android

就可以得到证书指纹  SHA1: BE:F6:46:CA:05:E3:4C:CC:B1:51:50:AC:07:0C:48:55:99:5E:EC:3C  SHA1后面的一大趟就是

release:
1 先列出你一个证书下的所有的key
      keytool -list -keystore your_keystore_name
这里的
your_keystore_name 就是你证书的绝对路径 比如C:\Users\keystore\TestAndroid.jks 2 根据你列出的key 得到证书指纹
   keytool -list -v -keystore your_keystore_name -alias your_alias_name

如果多人开发,总不能一人申请一个密钥吧,所以  可以把debug.keystore 复制一下覆盖你原来的keystore. 来自http://stackoverflow.com/questions/4361942/one-google-maps-key-for-multiple-developers-android-eclipse-custom-keystore
 
来源于 https://developer.android.com/studio/publish/app-signing.html#sign-auto
https://developers.google.com/maps/documentation/android-api/signup

Android 数字签名的更多相关文章

  1. Android数字签名

    描述你对Android数字签名的理解? 数字签名就是为程序打上一个标记来作为自己的标识,是Android系统要求的,若一个Android程序没有经过数字签名,没办法安装到系统: 签名也是对apk的一种 ...

  2. Android 数字签名学习笔记

    Android 数字签名学习笔记 在Android系统中,所有安装到系统的应用程序都必有一个数字证书,此数字证书用于标识应用程序的作者和在应用程序之间建立信任关系,如果一个permission的pro ...

  3. Android数字签名解析(三)

    在刚才開始学习android数字签名的相关知识点的时候,被资料中出现的keystore.x509.密钥对.debug.keystore弄的晕头 转向.经过一段时间的了解,总算明确一些. 一.make_ ...

  4. Android数字签名解析(二)

    在Android数字签名解析(一)中,介绍了android进行签名的两种方式,当中用密钥对进行签名用到了signapk.jar这个java库. 以下我们就看看signapk签名实现过程,signapk ...

  5. Android Application Digital Signatures - Android 数字签名

    Android 数字签名 同一个开发人员的多个程序尽可能使用同一个数字证书,这能够带来下面优点. (1)有利于程序升级,当新版程序和旧版程序的数字证书同样时,Android系统才会觉得这两个程序是同一 ...

  6. Android数字签名解析(一)

     一.数字签名概述 所谓"数字签名"就是通过某种password运算生成一系列符号及代码组成电子password进行签名,来取代书写签名或印章. 数字签名有两种功效:一是能确定消息 ...

  7. Android数字签名的学习(转)

    转载地址:http://www.cnblogs.com/feisky/archive/2010/01/17/1650076.html 在Android系统中,所有安装到系统的应用程序都必有一个数字证书 ...

  8. Android签名总结

    signapk.jar与eclipse export插件默认赋予程序一个DEBUG权限的签名 signapk.jar包含有系统权限(system api, permission),而eclipse e ...

  9. 安卓Android面试题大全

    56个问题都是经常用到的,可以深入研究下,也是必须掌握的开发必备知识. 安卓Android面试题汇总 搜集了一些Android面试题目,供将要面试或者正在面试的朋友参考. 1, 谈谈你对Activit ...

随机推荐

  1. [LeetCode] Insertion Sort List 链表插入排序

    Sort a linked list using insertion sort. 链表的插入排序实现原理很简单,就是一个元素一个元素的从原链表中取出来,然后按顺序插入到新链表中,时间复杂度为O(n2) ...

  2. [LeetCode] Distinct Subsequences 不同的子序列

    Given a string S and a string T, count the number of distinct subsequences of T in S. A subsequence ...

  3. redis慢查询日志

    运维需要记录一下主redis中那些“慢操作”的命令,然后找到相关的业务方,不然的话,阻塞 就不好玩了.然后就直接在redis手册中就找到了相关的命令. SLOWLOG subcommand [argu ...

  4. Css--深入学习之折角效果

    本文是作者从别的网站和文章学习了解的知识,简单做了个笔记,想要学习更多的可以参考这里:[css进阶]伪元素的妙用--单标签之美,奇思妙想 代码: /*建立一个带圆角的矩形,并使用线性渐变将其从左到底透 ...

  5. HttpHelper

    /// <summary> /// 类说明:HttpHelper类,用来实现Http访问,Post或者Get方式的,直接访问,带Cookie的,带证书的等方式,可以设置代理 /// 重要提 ...

  6. SD卡的监听

    摘要:在一般应用中,如果需要对占用空间比较大的文件操作,需要监听SD卡的状态,Android中对SD卡的监听状态操作步骤如下: 一.创建一个类继承于BroadcastReceiver public c ...

  7. Lintcode答案&笔记

    1.A+B问题 给出两个整数a和b, 求他们的和, 但不能使用 + 等数学运算符 思路:作异或得到未进位和,作与并向左移1位得到进位,随后再重复操作俩结果,直到进位为0,适合用递归 public in ...

  8. grouping sets从属子句的运用

    grouping sets主要是用来合并多个分组的结果. 对于员工目标业绩表'businessTarget': employeeId targetDate idealDistAmount 如果需要分别 ...

  9. 第一章 MYSQL的架构和历史

    在读第一章的过程中,整理出来了一些重要的概念. 锁粒度  表锁(服务器实现,忽略存储引擎). 行锁(存储引擎实现,服务器没有实现). 事务的ACID概念 原子性(要么全部成功,要么全部回滚). 一致性 ...

  10. POJ 2253 Frogger(Dijkstra)

    传送门 Frogger Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 39453   Accepted: 12691 Des ...