Android Studio生成签名文件方法

Android App在打包成安装包时需要用到签名文件,不同的编译器生成的签名文件格式也不同。Eclipse 的签名文件是以.ketstore为后缀的文件;Android Studio是以.jks为后缀的文件。目前大多数都是使用 Android Studio作为开发工具,接下来就以Android Studio为例介绍如何生成 JKS 签名文件。

1. 旧版本AS生成签名

1)在 Build 菜单中选择 Generate Signed Bundle / A
image

PK...;
2)选择 APK,点击 Next 下一步;
Android App Bundle:用于通过 Google Play 发布的应用,需要升级到AS 3.2 以上版本才支持App Bundle格式;
APK:用于创建可部署到设备上的签名APK;


image

3)点击 Create new... 创建密钥库;
image

4)点击 Key store path 创建密钥库文件地址;
image

5)选择密钥库文件路径,填写密钥库名称,点击 OK 确定;
image

6)填写完成创建密钥库相关信息,点击 OK 创建完成。
Key store path:密钥库文件的地址;
Password:密钥库密码; Confirm:确认密钥库密码;
Key:
Alias:密钥别称;
Password:密钥密码;Confirm:确认密钥密码;
Validity(years):密钥有效期;
Certificate:

First and Last Name:密钥颁发者姓名;
Organizational Unit:密钥颁发组织单位;
Organization:密钥颁发组织;
City or Locality:所在城市;
State or Province:所在州省;
Country Code:国家编码;


image
  1. 新版本AS生成签名
    新版本AS在生成签名时有些小变化,创建过程还是和旧版本一样(1 ~ 6步骤),不同的是在创建完成后会弹出一个错误提示框:签名文件创建错误,JKS 密钥库使用专用格式。


    image

    根据错误提示,需要把 AS刚创建的JKS密钥库迁移到行业标准格式PKCS12。

  • 解决办法:
    1)在cmd窗口或者AS控制台界面,输入以下命令后按回车键:
    keytool -importkeystore 旧签名文件路径+签名文件名.jks -destkeysore 新签名文件路径+新签名文件名.jks -deststoretype pkcs12
    注意: 如果新的签名文件名和旧的签名文件名一样,而且在同一路径下,就会报错:

keytool 错误: java.io.IOException: DerInputStream.getLength(): lengthTag=109, too big.

新的签名文件路径或名称最好不要相同,如果文件路径相同,文件名称就不要相同;如果文件名称相同,文件路径就不要相同。

2)输入目标密钥库口令:
3)再次输入新口令:
4)输入源密钥库口令:
5)已成功导入别名 xx 的条目。
已完成导入命令: 1 个条目成功导入,0 个条目失败或取消
6)打开新生成签名文件的目录,即可看到新生成的JKS签名文件。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容