Android 数字签名

  一个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

 

posted on 2016-08-16 13:08  xiaodong135  阅读(1189)  评论(0编辑  收藏  举报

导航