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) 编辑 收藏 举报