获取Android SHA1 、生成jks密钥、签名Apk

作者: NapleC | 来源:发表于2016-06-06 16:13 被阅读9478次

获取应用包名.

打开Android 应用工程的 AndroidManifest.xml配置文件,package 属性所对应的内容为应用包名。


获取 Sha1 值.

目前(2016/06/06)为止,各大第三方的SDK 配置key需要两种(图1.1)(一般只要拿到发布模式的key即可):

1.1
1.开发模式(debug)
2.发布模式(release)

他们的 sha1 值是不同的,发布 apk时 需要根据发布apk对应的keystore(** 签名文件**

  • 在eclipse 是 **.keystore **文件
  • 在 Android Studio中就是 **.jks **文件)

并重新配置Key。
开发模式的key直接获取debug.keystore即可,而发布模式的key则是生成的私有keystore

首先我们说下怎么获取 SHA1 值
1.在 Eclipse 中获取 SHA1 (图2.1)
2.1
2. Android Studio获取SHA1:

注意:在这之前请确保你的jdk的bin目录添加到系统环境变量path中,具体方法请百度

  1. 打开Android Studio的Terminal工具( File-settings-plugins下面找到Termina,勾选上就可以)

  2. 输入命令: jdk1.8版本** (图2.2.1) **
    jdk bin目录 + keytool -list -keystore + jks 文件路径

    2.2.1
  3. 输入密钥库口令
    这里注意下,输入密码时,一般都没有*号之类的提示的,等你输入完了,按回车就行了。
    PS:1.6、1.7版本的JDK 可以在网上搜索 ,命令类似

    "jdk bin目录"+ "keytool -list -v -keystore" + "jks 文件路径"

下面我们看下怎么 生成keystore / jks 文件 以及 打包签名apk

视图界面生成签名文件:####

Eclipse 生成 keystore 文件:
1. Eclipse工程中右键工程,弹出选项中选择 android工具-生成签名应用包 (图3.1.1)
3.1.1
2. 选择需要打包的android项目工程(默认为当前的Project) (图3.1.2)
3.1.2
3. 如果已有私钥文件,选择私钥文件 输入密码,如果没有私钥文件见 第6和7步 (图3.1.3)
3.1.3
4. 输入私钥别名和密码** (图3.1.4)**:
3.1.4
5. 选择APK存储的位置,并完成设置 开始生成** (图3.1.5)**:
3.1.5
6. 没有私钥文件的情况,创建私钥文件(注:这里私钥文件的Location位置最好自己选择一个新位置,便于牢记,而且最好把这个私钥文件备份到其他地方去以免丢失,因为应用程序的更新需要同一私钥文件)** (图3.1.6)**:
3.1.6
7.输入私钥文件所需信息,并创建(注:这里的密码是用于Key的别名的,和上面的KeyStore文件的不同,这点可以看步骤3和4。另外下面的名字,开发者资料等是不需要全部填写的,dialog会有提示的)** (图3.1.7)**:
3.1.7
Android Studio 生成 jks 文件:
1. 在上方的菜单导航条 选择 Build > Generate Signed APK** (图3.2.1)**:
3.2.1
2. 选择Create new 新建一个 ** (图3.2.2)** 如果已有jks文件则直接看第 5 步
3.2.2
3. 选择创建新的key,会出现这个目录** (图3.2.3.1)**,很简单是不是。
3.2.3.1

注意:选择保存keystore文件位置的时候需要自己填文件名** (如图3.2.3.2)**

3.2.3.2
4. 这是填好的示例(如图3.2.3.3)
3.2.3.3
5. 这一步 (如图3.2.4)填写好了直接next
3.2.4
6.选择好生成的apk存放的目录 ,以及编译的类型,Flavors 是多渠道发布,这里暂时不说(如图3.2.5),直接finish,然后就可以去文件夹看生成的apk了。
3.2.5
cmd中生成 keystore(这里以jdk1.7版本为例,jdk1.8和jdk1.7的算法有所不同)
1. 打开cmd命令提示符,转到keytool所在的目录下,这里是是在C:\Program Files\Java\jdk1.7.0_65\bin(看图c1.png);

(如果是在C盘中一定要以管理员身份运行,否则会出现keytool 错误:java.io.FileNotFoundException: MyAndroidKey.keystore (拒绝访问).的错误)

c1.png
2.输入生成命令,一个个填过去就ok(看图c2.png)
c2.png

暂时就先写这些,不足之处欢迎指出,谢谢

相关文章

网友评论

  • Leo724651142:我查看了应用签名,输出是 MD5: 5C:33:35:16:69:81:DF:16:77:65:5B:72:A2:1F:6D:94 这种格式,发现在微博登陆上要填的是数字➕小写字母的32位字符,是要把这串字符的冒号去掉,大写改成小写吗??
    NapleC:@e8943869101b 你理解错了,应用签名需要的是MD5,这个需要在手机上安装微博的一个生成签名的apk。,类似于:
    应用签名:049a9fde46bfc5087f3825582208b248

    安装这个应用可以获取本手机已经安装的某个android软件,根据软件的包名,类似于: com.demo.AppX 来查找这个软件,以及获取这个软件的 应用签名。

    工具是在 https://open.weixin.qq.com/cgi-bin/readtemplate?t=resource/app_download_android_tmpl&lang=zh_CN
  • 小郑修修:谢谢你 解决了问题
    NapleC:@453100956 不客气
  • 88549278943c:请问如何获取debug的keystory,默认路径是在jdkbin目录吗?
    88549278943c:@NapleC 感谢指导,不是用来打包,就是那个高德地图要填写debug的sha1所以。。。
    NapleC:@是个罗卜 默认目录位置:C:\Users\<用户名>\.android\debug.keystore 。
    不建议你使用默认的debug,打包的话,最好是新建一个。

本文标题:获取Android SHA1 、生成jks密钥、签名Apk

本文链接:https://www.haomeiwen.com/subject/grgrdttx.html