在开发中我们可能经常需要用到一些第三方公司的SDK,比如:百度地图SDK、腾讯的分享朋友圈的SDk等,我们使用这些SDK有个前提就是我们需要将我们应用的签名和包名添加进去,跟我们在这些第三方SDK公司网站里创建的应用联系起来(我们需要在里面填写我们的应用签名)

1.生成签名

首先,选择:Build->Generate Signed APK

弹出如下的弹窗:

点击Create New 按钮,出现下面的对话框:

其中Alias为别名,对于下面“Certificate”的那几行,我们至少需要填一个,上面的都要填写清楚,重要的是要记清楚第二行输入的密码,之后需要用到。之后一路点击“OK”即可,这时候就会生成发布版的apk了:


上面的步骤只是生成了签名证书,我们还要用该证书对应用进行签名。
接下来我们需要在Moudle的build.gradle文件中添加下面的信息(将其中的内容替换为我们刚才填写的内容)

    signingConfigs {
        config {
            keyAlias 'friendsshare'
            keyPassword '123456789'
            storeFile file('E:/myfriendsshare.jks')
            storePassword '123456789'
        }
    }

上面代码的目的是:使用这里填写的别名(keyAlias)和密码,与签名证书里面的信息进行比对,如果成功,则表示我们是该证书的所有者,有权限使用其进行签名,这点是在进行签名的时候进行比对的。
我们可以在下图选择我们点击 “Run” 按钮时去 build 的类型,是“debug” 还是 “release”


如果我们没有配置 “release”的话,在选择构建类型里选择 “release” 的时候会报如下错误(没配置的情况下选择“debug”不会报错,因为AS默认为我们创建了一个debug的签名,注意:更改过配置的话,最好重新 build 下项目,否则有时候会报错。):

在上面配置里面任何一项都不能出错。如果出错,对应的 build 类型就无法通过。如果keyAlias错误的话,会报下面的错误:

如果其他两个密码有错误的话,会报如下错误:

当然,这里我们完全可以不用自己手动输入,可以采用下面的方法直接填写即可自动生成:
在项目上直接右键,选择Open Moudle Settings,点击红色框内的添加,填写刚才的信息,点击“OK”即可:

2.查询签名

在Android Studio下,我们可以在命令行中通过输入命令来查询我们的应用签名信息:

查询命令为:

keytool -list -v -keystore "E:\myfriendsshare.jks"

其中"E:\myfriendsshare.jks"为我们刚才保存的签名相关文件的位置,在这里你直接替换成自己的文件位置即可。之后它会让你输入密码(注意,密码不会显示出来,输入之后点击回车就好)
查询结果如下:

其中SHA1的值即为应用的签名

03-05 21:02