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

获取应用包名.

打开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:

  1. 打开Android Studio的Terminal工具( File-settings-plugins下面找到Termina,勾选上就可以)
  2. 输入命令: jdk1.8版本* (图2.2.1) *
    jkd bin目录 + keytool -list -keystore + jks 文件路径
    2.2.1

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

    “jkd 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

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

猜你喜欢

转载自blog.csdn.net/u013323045/article/details/51596335