获取Android SHA1 、生成jks密钥、签名Apk
2016-06-06 本文已影响9478人
NapleC
获取应用包名.
打开Android 应用工程的 AndroidManifest.xml配置文件,package 属性所对应的内容为应用包名。
获取 Sha1 值.
目前(2016/06/06)为止,各大第三方的SDK 配置key需要两种(图1.1)(一般只要拿到发布模式的key即可):

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. Android Studio获取SHA1:
注意:在这之前请确保你的jdk的bin目录添加到系统环境变量path中,具体方法请百度
-
打开Android Studio的Terminal工具( File-settings-plugins下面找到Termina,勾选上就可以)
-
输入命令: jdk1.8版本** (图2.2.1) **
jdk bin目录 + keytool -list -keystore + jks 文件路径
2.2.1
-
输入密钥库口令
这里注意下,输入密码时,一般都没有*号之类的提示的,等你输入完了,按回车就行了。
PS:1.6、1.7版本的JDK 可以在网上搜索 ,命令类似"jdk bin目录"+ "keytool -list -v -keystore" + "jks 文件路径"
下面我们看下怎么 生成keystore / jks 文件 以及 打包签名apk 。
视图界面生成签名文件:####
Eclipse 生成 keystore 文件:
1. Eclipse工程中右键工程,弹出选项中选择 android工具-生成签名应用包 (图3.1.1):

2. 选择需要打包的android项目工程(默认为当前的Project) (图3.1.2):

3. 如果已有私钥文件,选择私钥文件 输入密码,如果没有私钥文件见 第6和7步 (图3.1.3):

4. 输入私钥别名和密码** (图3.1.4)**:

5. 选择APK存储的位置,并完成设置 开始生成** (图3.1.5)**:

6. 没有私钥文件的情况,创建私钥文件(注:这里私钥文件的Location位置最好自己选择一个新位置,便于牢记,而且最好把这个私钥文件备份到其他地方去以免丢失,因为应用程序的更新需要同一私钥文件)** (图3.1.6)**:

7.输入私钥文件所需信息,并创建(注:这里的密码是用于Key的别名的,和上面的KeyStore文件的不同,这点可以看步骤3和4。另外下面的名字,开发者资料等是不需要全部填写的,dialog会有提示的)** (图3.1.7)**:

Android Studio 生成 jks 文件:
1. 在上方的菜单导航条 选择 Build > Generate Signed APK** (图3.2.1)**:

2. 选择Create new 新建一个 ** (图3.2.2)** 如果已有jks文件则直接看第 5 步

3. 选择创建新的key,会出现这个目录** (图3.2.3.1)**,很简单是不是。

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

4. 这是填好的示例(如图3.2.3.3)

5. 这一步 (如图3.2.4)填写好了直接next

6.选择好生成的apk存放的目录 ,以及编译的类型,Flavors 是多渠道发布,这里暂时不说(如图3.2.5),直接finish,然后就可以去文件夹看生成的apk了。

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 (拒绝访问).的错误)

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

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